From b87a37f30bc4efc788e88351fe82c712688b3c9e Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Sun, 15 Aug 2021 10:14:48 +0000
Subject: [PATCH] Monster/ /16759830 f2a0 427e bd0c cfd608148ae0

---
 .gitignore                                    |    3 +-
 .idea/modules.xml                             |    2 +-
 Makefile                                      |   43 +-
 docs/Monster.DOM.Assembler.html               |  814 ---
 docs/Monster.DOM.Handle.html                  |    6 +-
 docs/Monster.DOM.html                         |  257 -
 docs/Monster.Namespace.html                   |    2 +-
 docs/Monster.Types.Version.html               |  769 ---
 docs/Monster.Types.html                       |  293 -
 ...onster_Constraints.AbstractConstraint.html |    2 +-
 .../Monster_Constraints.AbstractOperator.html |    2 +-
 docs/Monster_Constraints.AndOperator.html     |   14 +-
 docs/Monster_Constraints.Invalid.html         |   10 +-
 docs/Monster_Constraints.IsArray.html         |   10 +-
 docs/Monster_Constraints.IsObject.html        |   10 +-
 docs/Monster_Constraints.OrOperator.html      |   14 +-
 docs/Monster_Constraints.Valid.html           |   10 +-
 docs/Monster_Constraints.html                 |    2 +-
 docs/Monster_DOM.Assembler.html               |    6 +-
 docs/Monster_DOM.CustomElement.html           | 1257 +++-
 docs/Monster_DOM.Handle.html                  |  677 --
 docs/Monster_DOM.Template.html                |    6 +-
 docs/Monster_DOM.Theme.html                   |   10 +-
 docs/Monster_DOM.Updater.html                 | 1209 ++++
 docs/Monster_DOM.html                         |  795 ++-
 docs/Monster_Data.Pathfinder.html             |   14 +-
 docs/Monster_Data.Pipe.html                   |  248 +-
 docs/Monster_Data.Transformer.html            |   16 +-
 docs/Monster_Data.html                        |   10 +-
 docs/Monster_Logging.Handler.html             |    6 +-
 docs/Monster_Logging.LogEntry.html            |    6 +-
 docs/Monster_Logging.Logger.html              |    6 +-
 docs/Monster_Logging.html                     |    2 +-
 ...onster_Logging_Handler.ConsoleHandler.html |    6 +-
 docs/Monster_Logging_Handler.html             |    2 +-
 docs/Monster_Math.html                        |    6 +-
 docs/Monster_Types.Base.html                  |    6 +-
 docs/Monster_Types.ID.html                    |    6 +-
 docs/Monster_Types.Observer.html              |   10 +-
 docs/Monster_Types.ObserverList.html          |    6 +-
 docs/Monster_Types.ProxyObserver.html         |   22 +-
 docs/Monster_Types.Queue.html                 |   10 +-
 docs/Monster_Types.RandomID.html              |    6 +-
 docs/Monster_Types.Stack.html                 |    6 +-
 docs/Monster_Types.TokenList.html             |    6 +-
 docs/Monster_Types.UniqueQueue.html           |    6 +-
 docs/Monster_Types.Version.html               |   10 +-
 docs/Monster_Types.html                       |  126 +-
 docs/Monster_Util.Comparator.html             |   10 +-
 docs/Monster_Util.html                        |   10 +-
 docs/constraints_abstract.js.html             |  224 -
 docs/constraints_abstractoperator.js.html     |  223 -
 docs/constraints_andoperator.js.html          |  250 -
 docs/constraints_invalid.js.html              |  242 -
 docs/constraints_isarray.js.html              |  250 -
 docs/constraints_isobject.js.html             |  251 -
 docs/constraints_namespace.js.html            |  195 -
 docs/constraints_oroperator.js.html           |  276 -
 docs/constraints_valid.js.html                |  242 -
 docs/data_diff.js.html                        |  432 --
 docs/data_namespace.js.html                   |  196 -
 docs/data_pathfinder.js.html                  |  553 --
 docs/data_pipe.js.html                        |  275 -
 docs/data_transformer.js.html                 |  616 --
 docs/dom_assembler.js.html                    |  283 -
 docs/dom_customelement.js.html                |  334 -
 docs/dom_handle.js.html                       |  412 --
 docs/dom_namespace.js.html                    |  195 -
 docs/dom_template.js.html                     |  308 -
 docs/dom_theme.js.html                        |  285 -
 docs/dom_util.js.html                         |  387 --
 docs/fonts/Montserrat/Montserrat-Bold.eot     |  Bin 106135 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Bold.ttf     |  Bin 47088 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Bold.woff    |  Bin 112872 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Bold.woff2   |  Bin 85436 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Regular.eot  |  Bin 106287 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Regular.ttf  |  Bin 46392 -> 0 bytes
 docs/fonts/Montserrat/Montserrat-Regular.woff |  Bin 112020 -> 0 bytes
 .../fonts/Montserrat/Montserrat-Regular.woff2 |  Bin 85240 -> 0 bytes
 .../sourcesanspro-light-webfont.eot           |  Bin 19390 -> 0 bytes
 .../sourcesanspro-light-webfont.svg           |  978 ---
 .../sourcesanspro-light-webfont.ttf           |  Bin 67760 -> 0 bytes
 .../sourcesanspro-light-webfont.woff          |  Bin 21132 -> 0 bytes
 .../sourcesanspro-light-webfont.woff2         |  Bin 16080 -> 0 bytes
 .../sourcesanspro-regular-webfont.eot         |  Bin 20014 -> 0 bytes
 .../sourcesanspro-regular-webfont.svg         | 1049 ---
 .../sourcesanspro-regular-webfont.ttf         |  Bin 68656 -> 0 bytes
 .../sourcesanspro-regular-webfont.woff        |  Bin 21720 -> 0 bytes
 .../sourcesanspro-regular-webfont.woff2       |  Bin 16636 -> 0 bytes
 docs/global.html                              |   82 +-
 docs/global.html#Monster                      |    8 +-
 docs/index.html                               |    3 +-
 docs/logging_handler.js.html                  |  368 --
 docs/logging_handler_console.js.html          |  226 -
 docs/logging_handler_namespace.js.html        |  196 -
 docs/logging_logentry.js.html                 |  252 -
 docs/logging_logger.js.html                   |  464 --
 docs/logging_namespace.js.html                |  196 -
 docs/math_namespace.js.html                   |  196 -
 docs/math_random.js.html                      |  306 -
 docs/namespace.js.html                        |  343 -
 docs/namespace_Monster_DOM.Assembler.html     |  815 ---
 docs/scripts/collapse.js                      |   20 -
 docs/scripts/nav.js                           |   12 -
 docs/scripts/polyfill.js                      |    4 -
 docs/scripts/prettify/Apache-License-2.0.txt  |  202 -
 docs/scripts/prettify/lang-css.js             |    2 -
 docs/scripts/prettify/prettify.js             |   28 -
 docs/styles/jsdoc.css                         |  765 ---
 docs/styles/prettify.css                      |   79 -
 ...l-dom-based-templating-implementation.html |  193 +
 docs/tutorial-getting-started.html            |   50 +-
 docs/tutorial-tutorial.html                   |  194 +
 docs/tutorial-what-is-monster.html            |  195 +
 docs/types_base.js.html                       |  237 -
 docs/types_global.js.html                     |  312 -
 docs/types_id.js.html                         |  265 -
 docs/types_is.js.html                         |  550 --
 docs/types_namespace.js.html                  |  196 -
 docs/types_observer.js.html                   |  353 --
 docs/types_observerlist.js.html               |  302 -
 docs/types_proxyobserver.js.html              |  433 --
 docs/types_queue.js.html                      |  279 -
 docs/types_randomid.js.html                   |  243 -
 docs/types_stack.js.html                      |  280 -
 docs/types_tokenlist.js.html                  |  500 --
 docs/types_uniquequeue.js.html                |  271 -
 docs/types_validate.js.html                   |  567 --
 docs/types_version.js.html                    |  371 --
 docs/util_clone.js.html                       |  336 -
 docs/util_comparator.js.html                  |  345 -
 docs/util_freeze.js.html                      |  241 -
 docs/util_namespace.js.html                   |  196 -
 jsdoc.json                                    |    2 +-
 package-lock.json                             | 5379 +++++++++++++---
 package.json                                  |    8 +-
 packages/monster/CHANGELOG                    |   12 +
 packages/monster/README.md                    |    6 +-
 .../dist/modules/constraints/abstract.js      |    2 +-
 .../modules/constraints/abstractoperator.js   |    2 +-
 .../dist/modules/constraints/andoperator.js   |    2 +-
 .../dist/modules/constraints/invalid.js       |    2 +-
 .../dist/modules/constraints/isarray.js       |    2 +-
 .../dist/modules/constraints/isobject.js      |    2 +-
 .../dist/modules/constraints/namespace.js     |    2 +-
 .../dist/modules/constraints/oroperator.js    |    2 +-
 .../monster/dist/modules/constraints/valid.js |    2 +-
 .../monster/dist/modules/data/buildmap.js     |    2 +-
 packages/monster/dist/modules/data/diff.js    |    2 +-
 .../monster/dist/modules/data/namespace.js    |    2 +-
 .../monster/dist/modules/data/pathfinder.js   |    2 +-
 packages/monster/dist/modules/data/pipe.js    |    4 +-
 .../monster/dist/modules/data/transformer.js  |    4 +-
 .../monster/dist/modules/dom/assembler.js     |    2 +-
 .../monster/dist/modules/dom/constants.js     |    2 +
 .../monster/dist/modules/dom/customelement.js |    4 +-
 packages/monster/dist/modules/dom/handle.js   |    2 +-
 .../monster/dist/modules/dom/namespace.js     |    2 +-
 packages/monster/dist/modules/dom/template.js |    2 +-
 packages/monster/dist/modules/dom/theme.js    |    4 +-
 packages/monster/dist/modules/dom/updater.js  |    2 +
 packages/monster/dist/modules/dom/util.js     |    2 +-
 .../monster/dist/modules/logging/handler.js   |    2 +-
 .../dist/modules/logging/handler/console.js   |    2 +-
 .../dist/modules/logging/handler/namespace.js |    2 +-
 .../monster/dist/modules/logging/logentry.js  |    2 +-
 .../monster/dist/modules/logging/logger.js    |    2 +-
 .../monster/dist/modules/logging/namespace.js |    2 +-
 .../monster/dist/modules/math/namespace.js    |    2 +-
 packages/monster/dist/modules/math/random.js  |    2 +-
 packages/monster/dist/modules/monster.js      |    2 +-
 packages/monster/dist/modules/namespace.js    |    2 +-
 packages/monster/dist/modules/types/base.js   |    2 +-
 packages/monster/dist/modules/types/global.js |    2 +-
 packages/monster/dist/modules/types/id.js     |    2 +-
 packages/monster/dist/modules/types/is.js     |    2 +-
 .../monster/dist/modules/types/namespace.js   |    2 +-
 .../monster/dist/modules/types/observer.js    |    4 +-
 .../dist/modules/types/observerlist.js        |    2 +-
 .../dist/modules/types/proxyobserver.js       |    4 +-
 packages/monster/dist/modules/types/queue.js  |    2 +-
 .../monster/dist/modules/types/randomid.js    |    2 +-
 packages/monster/dist/modules/types/stack.js  |    2 +-
 .../monster/dist/modules/types/tokenlist.js   |    2 +-
 packages/monster/dist/modules/types/typeof.js |    2 +-
 .../monster/dist/modules/types/uniquequeue.js |    2 +-
 .../monster/dist/modules/types/validate.js    |    4 +-
 .../monster/dist/modules/types/version.js     |    4 +-
 packages/monster/dist/modules/util/clone.js   |    2 +-
 .../monster/dist/modules/util/comparator.js   |    2 +-
 packages/monster/dist/modules/util/freeze.js  |    2 +-
 .../monster/dist/modules/util/namespace.js    |    2 +-
 packages/monster/dist/monster.dev.js          |  822 ++-
 packages/monster/dist/monster.dev.js.map      |   82 +-
 packages/monster/dist/monster.js              |    4 +-
 packages/monster/package.json                 |    2 +-
 .../monster/source/constraints/andoperator.js |   10 +-
 .../monster/source/constraints/invalid.js     |    6 +-
 .../monster/source/constraints/isarray.js     |    6 +-
 .../monster/source/constraints/isobject.js    |    6 +-
 .../monster/source/constraints/oroperator.js  |   10 +-
 packages/monster/source/constraints/valid.js  |    6 +-
 packages/monster/source/data/buildmap.js      |    4 +-
 packages/monster/source/data/diff.js          |    6 +-
 packages/monster/source/data/pathfinder.js    |    8 +-
 packages/monster/source/data/pipe.js          |   36 +-
 packages/monster/source/data/transformer.js   |   12 +-
 packages/monster/source/dom/assembler.js      |    4 +-
 packages/monster/source/dom/constants.js      |   92 +
 packages/monster/source/dom/customelement.js  |  174 +-
 packages/monster/source/dom/handle.js         |    8 +-
 packages/monster/source/dom/template.js       |    8 +-
 packages/monster/source/dom/theme.js          |   19 +-
 packages/monster/source/dom/updater.js        |  430 ++
 packages/monster/source/dom/util.js           |   12 +-
 packages/monster/source/logging/handler.js    |    4 +-
 .../monster/source/logging/handler/console.js |    4 +-
 packages/monster/source/logging/logentry.js   |    4 +-
 packages/monster/source/logging/logger.js     |    4 +-
 packages/monster/source/math/random.js        |    4 +-
 packages/monster/source/namespace.js          |    2 +-
 packages/monster/source/types/base.js         |    4 +-
 packages/monster/source/types/global.js       |    8 +-
 packages/monster/source/types/id.js           |    4 +-
 packages/monster/source/types/is.js           |   36 +-
 packages/monster/source/types/observer.js     |   37 +-
 packages/monster/source/types/observerlist.js |    4 +-
 .../monster/source/types/proxyobserver.js     |   19 +-
 packages/monster/source/types/queue.js        |    6 +-
 packages/monster/source/types/randomid.js     |    4 +-
 packages/monster/source/types/stack.js        |    4 +-
 packages/monster/source/types/tokenlist.js    |    4 +-
 packages/monster/source/types/typeof.js       |    6 +-
 packages/monster/source/types/uniquequeue.js  |    4 +-
 packages/monster/source/types/validate.js     |   63 +-
 packages/monster/source/types/version.js      |   12 +-
 packages/monster/source/util/clone.js         |    4 +-
 packages/monster/source/util/comparator.js    |    6 +-
 packages/monster/source/util/freeze.js        |    4 +-
 .../monster/test/cases/data/transformer.js    |    1 +
 .../monster/test/cases/dom/customelement.js   |    3 +
 packages/monster/test/cases/dom/updater.js    |  256 +
 packages/monster/test/cases/monster.js        |    2 +-
 .../monster/test/cases/types/proxyobserver.js |   12 +
 packages/monster/test/cases/types/validate.js |   18 +-
 packages/monster/test/util/chai-dom.js        |  352 ++
 packages/monster/test/util/jsdom.js           |   12 +-
 packages/monster/test/web/import.js           |    4 +
 packages/monster/test/web/mocha.js            |    1 +
 packages/monster/test/web/test.html           |    1 +
 packages/monster/test/web/tests.js            | 5604 ++++++++++++-----
 .../dom-based-templating-implementation.md    |   17 +
 tutorials/getting-started.md                  |    4 +-
 tutorials/tutorial.md                         |    8 +
 tutorials/tutorials.json                      |   15 +-
 tutorials/what-is-monster.md                  |   13 +
 256 files changed, 14883 insertions(+), 25706 deletions(-)
 delete mode 100644 docs/Monster.DOM.Assembler.html
 delete mode 100644 docs/Monster.DOM.html
 delete mode 100644 docs/Monster.Types.Version.html
 delete mode 100644 docs/Monster.Types.html
 delete mode 100644 docs/Monster_DOM.Handle.html
 create mode 100644 docs/Monster_DOM.Updater.html
 delete mode 100644 docs/constraints_abstract.js.html
 delete mode 100644 docs/constraints_abstractoperator.js.html
 delete mode 100644 docs/constraints_andoperator.js.html
 delete mode 100644 docs/constraints_invalid.js.html
 delete mode 100644 docs/constraints_isarray.js.html
 delete mode 100644 docs/constraints_isobject.js.html
 delete mode 100644 docs/constraints_namespace.js.html
 delete mode 100644 docs/constraints_oroperator.js.html
 delete mode 100644 docs/constraints_valid.js.html
 delete mode 100644 docs/data_diff.js.html
 delete mode 100644 docs/data_namespace.js.html
 delete mode 100644 docs/data_pathfinder.js.html
 delete mode 100644 docs/data_pipe.js.html
 delete mode 100644 docs/data_transformer.js.html
 delete mode 100644 docs/dom_assembler.js.html
 delete mode 100644 docs/dom_customelement.js.html
 delete mode 100644 docs/dom_handle.js.html
 delete mode 100644 docs/dom_namespace.js.html
 delete mode 100644 docs/dom_template.js.html
 delete mode 100644 docs/dom_theme.js.html
 delete mode 100644 docs/dom_util.js.html
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.eot
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.ttf
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.woff
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Bold.woff2
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.eot
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.ttf
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.woff
 delete mode 100644 docs/fonts/Montserrat/Montserrat-Regular.woff2
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff
 delete mode 100644 docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2
 delete mode 100644 docs/logging_handler.js.html
 delete mode 100644 docs/logging_handler_console.js.html
 delete mode 100644 docs/logging_handler_namespace.js.html
 delete mode 100644 docs/logging_logentry.js.html
 delete mode 100644 docs/logging_logger.js.html
 delete mode 100644 docs/logging_namespace.js.html
 delete mode 100644 docs/math_namespace.js.html
 delete mode 100644 docs/math_random.js.html
 delete mode 100644 docs/namespace.js.html
 delete mode 100644 docs/namespace_Monster_DOM.Assembler.html
 delete mode 100644 docs/scripts/collapse.js
 delete mode 100644 docs/scripts/nav.js
 delete mode 100644 docs/scripts/polyfill.js
 delete mode 100644 docs/scripts/prettify/Apache-License-2.0.txt
 delete mode 100644 docs/scripts/prettify/lang-css.js
 delete mode 100644 docs/scripts/prettify/prettify.js
 delete mode 100644 docs/styles/jsdoc.css
 delete mode 100644 docs/styles/prettify.css
 create mode 100644 docs/tutorial-dom-based-templating-implementation.html
 create mode 100644 docs/tutorial-tutorial.html
 create mode 100644 docs/tutorial-what-is-monster.html
 delete mode 100644 docs/types_base.js.html
 delete mode 100644 docs/types_global.js.html
 delete mode 100644 docs/types_id.js.html
 delete mode 100644 docs/types_is.js.html
 delete mode 100644 docs/types_namespace.js.html
 delete mode 100644 docs/types_observer.js.html
 delete mode 100644 docs/types_observerlist.js.html
 delete mode 100644 docs/types_proxyobserver.js.html
 delete mode 100644 docs/types_queue.js.html
 delete mode 100644 docs/types_randomid.js.html
 delete mode 100644 docs/types_stack.js.html
 delete mode 100644 docs/types_tokenlist.js.html
 delete mode 100644 docs/types_uniquequeue.js.html
 delete mode 100644 docs/types_validate.js.html
 delete mode 100644 docs/types_version.js.html
 delete mode 100644 docs/util_clone.js.html
 delete mode 100644 docs/util_comparator.js.html
 delete mode 100644 docs/util_freeze.js.html
 delete mode 100644 docs/util_namespace.js.html
 create mode 100644 packages/monster/dist/modules/dom/constants.js
 create mode 100644 packages/monster/dist/modules/dom/updater.js
 create mode 100644 packages/monster/source/dom/constants.js
 create mode 100644 packages/monster/source/dom/updater.js
 create mode 100644 packages/monster/test/cases/dom/updater.js
 create mode 100644 packages/monster/test/util/chai-dom.js
 create mode 100644 tutorials/dom-based-templating-implementation.md
 create mode 100644 tutorials/tutorial.md
 create mode 100644 tutorials/what-is-monster.md

diff --git a/.gitignore b/.gitignore
index 81a4b6230..e5f607d3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
-
+/.nyc_output/
 
 #####################ALLGEMEINER TEIL
 
@@ -307,3 +307,4 @@ fabric.properties
 
 # Android studio 3.1+ serialized cache file
 .idea/caches/build_file_checksums.ser
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index ea8308a41..b69fe790a 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,8 +3,8 @@
   <component name="ProjectModuleManager">
     <modules>
       <module fileurl="file://$PROJECT_DIR$/../../../../alvine/frontend/alvine.frontend.framework/alvine.frontend.alvine.alvine-frontend-framework.iml" filepath="$PROJECT_DIR$/../../../../alvine/frontend/alvine.frontend.framework/alvine.frontend.alvine.alvine-frontend-framework.iml" />
+      <module fileurl="file://$PROJECT_DIR$/../web-components/form/form.iml" filepath="$PROJECT_DIR$/../web-components/form/form.iml" />
       <module fileurl="file://$PROJECT_DIR$/monster.iml" filepath="$PROJECT_DIR$/monster.iml" />
-      <module fileurl="file://$PROJECT_DIR$/../web-components/template/template.iml" filepath="$PROJECT_DIR$/../web-components/template/template.iml" />
       <module fileurl="file://$PROJECT_DIR$/../web-components/multiselect/web-components.multiselect.iml" filepath="$PROJECT_DIR$/../web-components/multiselect/web-components.multiselect.iml" />
     </modules>
   </component>
diff --git a/Makefile b/Makefile
index 68fca4ccc..6a9525603 100644
--- a/Makefile
+++ b/Makefile
@@ -214,6 +214,7 @@ BABEL         := $(NODE_MODULES_BIN_DIR)babel
 EXORCIST      := $(NODE_MODULES_BIN_DIR)exorcist
 UGLIFYJS      := $(NODE_MODULES_BIN_DIR)uglifyjs
 MOCHA         := $(NODE_MODULES_BIN_DIR)mocha
+NYC           := $(NODE_MODULES_BIN_DIR)nyc
 JSDOC         := $(NODE_MODULES_BIN_DIR)jsdoc
 
 $(NODE_MODULES_DIR): $(THIS_DIR)package.json
@@ -245,21 +246,23 @@ ifneq ($(strip $(PACKAGE)),)
 SUBPACKAGE=-$(PACKAGE)
 endif
 
-MONSTER_CORE_DIR                 := $(THIS_DIR)packages/monster/
-
-MONSTER_DIR                      := $(THIS_DIR)packages/monster$(SUBPACKAGE)/
-MONSTER_SOURCE_DIR               := $(MONSTER_DIR)source/
-MONSTER_SOURCE_FILES             := $(shell find $(MONSTER_SOURCE_DIR) -name '*.js')
-MONSTER_DIST_DIR                 := $(MONSTER_DIR)dist/
-MONSTER_DIST_MODULE_DIR          := $(MONSTER_DIST_DIR)modules/
-MONSTER_DIST_MODULES_FILES       := $(subst $(MONSTER_SOURCE_DIR), $(MONSTER_DIST_MODULE_DIR), $(MONSTER_SOURCE_FILES))
-MONSTER_TEST_DIR                 := $(MONSTER_DIR)test/
-MONSTER_TEST_CASE_DIR            := $(MONSTER_TEST_DIR)cases/
-MONSTER_FILES_WITHVERSION        := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_SOURCE_FILES))
-
-MONSTER_CORE_VERSION := $(shell jq -r ".version" $(MONSTER_CORE_DIR)package.json)
-MONSTER_VERSION      := $(shell jq -r ".version" $(MONSTER_DIR)package.json)
-LICENSE_C_COMMENT    := Monster $(MONSTER_VERSION), $(COPYRIGHT_TEXT)
+MONSTER_CORE_DIR                           := $(THIS_DIR)packages/monster/
+							           
+MONSTER_DIR                                := $(THIS_DIR)packages/monster$(SUBPACKAGE)/
+MONSTER_TUTORIAL_DIR                       := $(THIS_DIR)tutorials/
+MONSTER_SOURCE_DIR                         := $(MONSTER_DIR)source/
+MONSTER_SOURCE_FILES                       := $(shell find $(MONSTER_SOURCE_DIR) -name '*.js')
+MONSTER_DIST_DIR                           := $(MONSTER_DIR)dist/
+MONSTER_DIST_MODULE_DIR                    := $(MONSTER_DIST_DIR)modules/
+MONSTER_DIST_MODULES_FILES                 := $(subst $(MONSTER_SOURCE_DIR), $(MONSTER_DIST_MODULE_DIR), $(MONSTER_SOURCE_FILES))
+MONSTER_TEST_DIR                           := $(MONSTER_DIR)test/
+MONSTER_TEST_CASE_DIR                      := $(MONSTER_TEST_DIR)cases/
+MONSTER_FILES_WITHVERSION                  := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_SOURCE_FILES))
+MONSTER_TUTORIALS_FILES_WITHVERSION        := $(shell grep -l -r -E "monster($(SUBPACKAGE))?@[0-9]\.[0-9]\.[0-9]" $(MONSTER_TUTORIAL_DIR))
+
+MONSTER_CORE_VERSION                       := $(shell jq -r ".version" $(MONSTER_CORE_DIR)package.json)
+MONSTER_VERSION                            := $(shell jq -r ".version" $(MONSTER_DIR)package.json)
+LICENSE_C_COMMENT                          := Monster $(MONSTER_VERSION), $(COPYRIGHT_TEXT)
 
 $(MONSTER_DIST_DIR): 
 	$(ECHOMARKER) "make directory $(MONSTER_DIST_DIR)"
@@ -267,7 +270,7 @@ $(MONSTER_DIST_DIR):
 
 
 .PHONY: version-monster
-version-monster: $(MONSTER_TEST_CASE_DIR)monster.js $(MONSTER_DIR)README.md $(MONSTER_FILES_WITHVERSION)
+version-monster: $(MONSTER_TEST_CASE_DIR)monster.js $(MONSTER_DIR)README.md $(MONSTER_FILES_WITHVERSION) $(MONSTER_TUTORIALS_FILES_WITHVERSION)
 
 $(MONSTER_TEST_CASE_DIR)monster.js: $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)package.json
 	$(ECHOMARKER) "write test/monster.js version $(MONSTER_VERSION)"
@@ -284,6 +287,12 @@ $(MONSTER_FILES_WITHVERSION): $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)pack
 	$(QUITE) $(SED) -i -E "s/(\/monster@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_CORE_VERSION)\//gi" $@
 	$(QUIET) $(AWK) -i inplace -v start='/**#@+' -v end='/**#@-*/' -v repl="    /**#@+ dont touch, replaced by make with package.json version */\n    monsterVersion = new Version('$(MONSTER_VERSION)')\n    /**#@-*/" '$$1 == start{del=2} $$1 == end{$$1 = repl; del=0} !del' $@
 
+$(MONSTER_TUTORIALS_FILES_WITHVERSION): $(MONSTER_DIR)package.json $(MONSTER_CORE_DIR)package.json
+	$(ECHOMARKER) "write $@ monster version $(MONSTER_VERSION) and monster core version $(MONSTER_CORE_VERSION)"
+	$(QUITE) $(SED) -i -E "s/(\/monster$(SUBPACKAGE)@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_VERSION)\//gi" $@
+	$(QUITE) $(SED) -i -E "s/(\/monster@)([0-9]+\.[0-9]+\.[0-9]+)\//\1$(MONSTER_CORE_VERSION)\//gi" $@
+	$(QUIET) $(AWK) -i inplace -v start='/**#@+' -v end='/**#@-*/' -v repl="    /**#@+ dont touch, replaced by make with package.json version */\n    monsterVersion = new Version('$(MONSTER_VERSION)')\n    /**#@-*/" '$$1 == start{del=2} $$1 == end{$$1 = repl; del=0} !del' $@
+
 $(MONSTER_DIST_DIR)monster.dev.js:  $(MONSTER_SOURCE_FILES)
 	$(QUIET) $(BROWSERIFY) $(MONSTER_SOURCE_DIR)monster.js -t [ babelify  --presets [ @babel/preset-env ] ] --debug | \
     	$(EXORCIST) $(MONSTER_DIST_DIR)monster.dev.js.map > $(MONSTER_DIST_DIR)monster.dev.js
@@ -320,7 +329,7 @@ test-browser-monster:
 test-monster: build-monster
 	$(ECHOMARKER) "test monster"
 	$(QUITE) $(NPX) flow      
-	$(QUIET) $(MOCHA) --recursive $(MONSTER_TEST_CASE_DIR)**
+	$(QUIET) $(MOCHA)  --recursive $(MONSTER_TEST_CASE_DIR)**
 
 .PHONY: npm-publish-monster
 ## publish library to npm
diff --git a/docs/Monster.DOM.Assembler.html b/docs/Monster.DOM.Assembler.html
deleted file mode 100644
index 56bf44d7d..000000000
--- a/docs/Monster.DOM.Assembler.html
+++ /dev/null
@@ -1,814 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    
-    <meta charset="utf-8">
-    <title>Assembler - awaken the monster in you; javascript library by schukai GmbH</title>
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-    
-    <script src="scripts/prettify/prettify.js"></script>
-    <script src="scripts/prettify/lang-css.js"></script>
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/prettify.css">
-    <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
-    <script src="scripts/nav.js" defer></script>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-</head>
-<body>
-
-<input type="checkbox" id="nav-trigger" class="nav-trigger" />
-<label for="nav-trigger" class="navicon-button x">
-  <div class="navicon"></div>
-</label>
-
-<label for="nav-trigger" class="overlay"></label>
-
-<nav >
-    
-    <input type="text" id="nav-search" placeholder="Search" />
-    
-    <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster_DOM.html">Monster/DOM</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.html#.getWindow">getWindow</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3>
-</nav>
-
-<div id="main">
-    
-    <h1 class="page-title">Assembler</h1>
-    
-
-    
-
-
-
-
-<section>
-
-<header>
-    
-        <h2>
-        Assembler
-        </h2>
-        
-            <div class="class-description usertext"><p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js';
-console.log(new Monster.DOM.Assembler())
-&lt;/script>
-</code></pre>
-<p>Alternatively, you can also integrate this function individually.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js';
-console.log(new Assembler())
-&lt;/script>
-</code></pre></div>
-        
-    
-</header>
-
-<article>
-    
-        <div class="container-overview">
-        
-            
-
-    
-    <h2>Constructor</h2>
-    
-
-    <h4 class="name" id="Assembler"><span class="type-signature"></span>new Assembler<span class="signature">(fragment)</span><span class="type-signature"></span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line44">line 44</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-    <dt class="tag-since">Since:</dt>
-    <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-    <dt class="tag-copyright">Copyright:</dt>
-    <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>fragment</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">DocumentFragment</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-<ul>
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not an instance of</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not a function</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>the function is not defined</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">Error</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    </ul>
-
-
-
-
-
-        
-        </div>
-    
-
-    
-
-    
-
-    
-    
-    
-
-     
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Methods</h3>
-
-        
-            
-
-    
-
-    <h4 class="name" id="createDocumentFragment"><span class="type-signature"></span>createDocumentFragment<span class="signature">(data)</span><span class="type-signature"> &rarr; {DocumentFragment}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line85">line 85</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>data</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">ProxyObserver</span>
-|
-
-<span class="param-type">undefined</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-
-        
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not an instance of</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-
-    
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">DocumentFragment</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="getAttributePrefix"><span class="type-signature"></span>getAttributePrefix<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line75">line 75</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">string</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="setAttributePrefix"><span class="type-signature"></span>setAttributePrefix<span class="signature">(prefix)</span><span class="type-signature"> &rarr; {Assembler}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line65">line 65</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>prefix</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-
-        
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not a string</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-
-    
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">Assembler</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    
-    
-</div>
-
-<br class="clear">
-
-<footer>
-</footer>
-
-<script>prettyPrint();</script>
-<script src="scripts/polyfill.js"></script>
-<script src="scripts/linenumber.js"></script>
-
-<script src="scripts/search.js" defer></script>
-
-
-<script src="scripts/collapse.js" defer></script>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/Monster.DOM.Handle.html b/docs/Monster.DOM.Handle.html
index 38fc8c6f8..6e86829eb 100644
--- a/docs/Monster.DOM.Handle.html
+++ b/docs/Monster.DOM.Handle.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -146,13 +146,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Handle()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
 console.log(new Monster.DOM.Handle())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
 console.log(new Handle())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster.DOM.html b/docs/Monster.DOM.html
deleted file mode 100644
index 8e798c761..000000000
--- a/docs/Monster.DOM.html
+++ /dev/null
@@ -1,257 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    
-    <meta charset="utf-8">
-    <title>DOM - awaken the monster in you; javascript library by schukai GmbH</title>
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-    
-    <script src="scripts/prettify/prettify.js"></script>
-    <script src="scripts/prettify/lang-css.js"></script>
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/prettify.css">
-    <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
-    <script src="scripts/nav.js" defer></script>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-</head>
-<body>
-
-<input type="checkbox" id="nav-trigger" class="nav-trigger" />
-<label for="nav-trigger" class="navicon-button x">
-  <div class="navicon"></div>
-</label>
-
-<label for="nav-trigger" class="overlay"></label>
-
-<nav >
-    
-    <input type="text" id="nav-search" placeholder="Search" />
-    
-    <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster.DOM.html">DOM</a></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3>
-</nav>
-
-<div id="main">
-    
-    <h1 class="page-title">DOM</h1>
-    
-
-    
-
-
-
-
-<section>
-
-<header>
-    
-        <h2>
-            <span class="ancestors"><a href="global.html#Monster">Monster</a>.</span>
-        
-        DOM
-        </h2>
-        
-    
-</header>
-
-<article>
-    
-        <div class="container-overview">
-        
-            
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_namespace.js.html">dom/namespace.js</a>, <a href="dom_namespace.js.html#line3">line 3</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-    <dt class="tag-author">Author:</dt>
-    <dd class="tag-author">
-        <ul>
-            <li>schukai GmbH</li>
-        </ul>
-    </dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-            
-
-            
-        
-        </div>
-    
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Classes</h3>
-
-        <dl>
-            <dt><a href="Monster.DOM.Assembler.html">Assembler</a></dt>
-            <dd></dd>
-        
-            <dt><a href="Monster.DOM.Handle.html">Handle</a></dt>
-            <dd></dd>
-        </dl>
-    
-    
-    
-
-     
-
-    
-
-    
-        <h3 class="subsection-title">Members</h3>
-
-        
-            
-<h4 class="name" id=".ATTRIBUTEPREFIX"><span class="type-signature">(static, constant) </span>ATTRIBUTEPREFIX<span class="type-signature"> :string</span></h4>
-
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line19">line 19</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-<div class="description usertext">
-    <p>attribute prefix</p>
-</div>
-
-
-
-    <h5>Type:</h5>
-    <ul>
-        <li>
-            
-<span class="param-type">string</span>
-
-
-        </li>
-    </ul>
-
-
-
-
-
-
-        
-    
-
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    
-    
-</div>
-
-<br class="clear">
-
-<footer>
-</footer>
-
-<script>prettyPrint();</script>
-<script src="scripts/polyfill.js"></script>
-<script src="scripts/linenumber.js"></script>
-
-<script src="scripts/search.js" defer></script>
-
-
-<script src="scripts/collapse.js" defer></script>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/Monster.Namespace.html b/docs/Monster.Namespace.html
index 3fa0f198b..3ea8e24af 100644
--- a/docs/Monster.Namespace.html
+++ b/docs/Monster.Namespace.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster.Types.Version.html b/docs/Monster.Types.Version.html
deleted file mode 100644
index fbfc6bebf..000000000
--- a/docs/Monster.Types.Version.html
+++ /dev/null
@@ -1,769 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      Version
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6076153" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4157139><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=567470><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1624951><div class="accordion-heading child"><a href="Monster.Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster.Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1597936><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=3296142><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7732220><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6464282><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=228813><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3417425><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6631880><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8503679><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=1883626><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=6723744><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=3823571><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=9367708><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=331745><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=1472395><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3098346><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8194614><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8997485><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=20182><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6460367><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7854899><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=5451503><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=4586466><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3923408><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8272311><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6282289><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1730183><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=640165><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="5212647" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8935145><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster.Types.html">Types</a></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=3708305><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=5102564><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=290094><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7383981><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8169817" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        Version
-      </h1>
-      
-
-      
-
-
-
-
-<section>
-
-
-<header>
-    
-        
-        <h2>
-        
-            <span class="ancestors"><a href="global.html#Monster">Monster</a><a href="Monster.Types.html">.Types</a>.</span>
-        
-        Version
-        
-        </h2>
-        
-        
-            <div class="class-description"><p>the version object contains a sematic version number</p>
-<p>you can create the object via the monster namespace <code>new Monster.Types.Version()</code>.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
-console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
-console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
-&lt;/script>
-</code></pre>
-<p>Alternatively, you can also integrate this class individually.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
-console.log(new Version('1.2.3')) // ↦ 1.2.3
-console.log(new Version('1')) // ↦ 1.0.0
-&lt;/script>
-</code></pre>
-<p>some examples</p></div>
-        
-    
-</header>
-
-
-<article>
-    <div class="container-overview">
-    
-        
-
-    
-        <h2>Constructor</h2>
-    
-
-    <h4 class="name" id="Version">
-        <a href="#Version">#</a>
-        <span class="type-signature"></span>new Version<span class="signature">(major, minor, patch)</span><span class="type-signature"></span>
-    </h4>
-
-    
-
-
-
-
-
-
-
-
-
-
-
-    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
-        <strong>Parameters:</strong>
-        
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>major</code></td>
-            
-
-            <td class="type">
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-
-        <tr>
-            
-                <td class="name"><code>minor</code></td>
-            
-
-            <td class="type">
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-
-        <tr>
-            
-                <td class="name"><code>patch</code></td>
-            
-
-            <td class="type">
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-    </div>
-
-
-
-
-
-
-
-<dl class="details">
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-since">Since:</dt>
-            <dd class="tag-since"><ul class="dummy"><li>1.0.0</li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-author">Author:</dt>
-            <dd class="tag-author">
-                <ul>
-                    <li>schukai GmbH</li>
-                </ul>
-            </dd>
-        </div>
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-copyright">Copyright:</dt>
-            <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-source">Source:</dt>
-            <dd class="tag-source"><ul class="dummy"><li>
-                <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line45">line 45</a>
-            </li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <div class="method-member-container mt-20">
-    <strong>Throws:</strong>
-    
-        <ul>
-            
-                <li>
-
-    <div class="param-desc">
-    
-        <p>major is not a number</p>
-    
-    </div>
-
-</li>
-            
-                <li>
-
-    <div class="param-desc">
-    
-        <p>minor is not a number</p>
-    
-    </div>
-
-</li>
-            
-                <li>
-
-    <div class="param-desc">
-    
-        <p>patch is not a number</p>
-    
-    </div>
-
-</li>
-            
-        </ul>
-    
-    </div>
-
-
-
-
-
-    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
-        <strong>Example</strong>
-        
-    <div class="rel">
-    <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
-
-new Version('1.0.0') // ↦ 1.0.0
-new Version(1)  // ↦ 1.0.0
-new Version(1, 0, 0) // ↦ 1.0.0
-new Version('1.2.3', 4, 5) // ↦ 1.4.5</code></pre>
-    
-    
-        <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Version} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js&apos;;\n\nnew Version(&apos;1.0.0&apos;) // ↦ 1.0.0\nnew Version(1)  // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version(&apos;1.2.3&apos;, 4, 5) // ↦ 1.4.5&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
-            <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
-        </form>
-    
-    </div>
-
-    </div>
-
-
-    
-    </div>
-
-    
-
-    
-
-    
-
-     
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Methods</h3>
-
-        
-            
-
-    
-
-    <h4 class="name" id="compareTo">
-        <a href="#compareTo">#</a>
-        <span class="type-signature"></span>compareTo<span class="signature">(version)</span><span class="type-signature"> &rarr; {number}</span>
-    </h4>
-
-    
-
-
-
-    <div class="description">
-        <p>returns 0 if equal, -1 if the object version is less and 1 if greater
-then the compared version</p>
-    </div>
-
-
-
-
-
-
-
-
-
-    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
-        <strong>Parameters:</strong>
-        
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>version</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-|
-
-<span class="param-type">Version</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"><p>Version to compare</p></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-    </div>
-
-
-
-
-
-
-
-<dl class="details">
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-source">Source:</dt>
-            <dd class="tag-source"><ul class="dummy"><li>
-                <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line112">line 112</a>
-            </li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <div class="method-member-container mt-20">
-    <strong>Returns:</strong>
-        
-            
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">number</span>
-
-
-    </dd>
-</dl>
-
-            
-    </div>
-
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="toString">
-        <a href="#toString">#</a>
-        <span class="type-signature"></span>toString<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span>
-    </h4>
-
-    
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<dl class="details">
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-source">Source:</dt>
-            <dd class="tag-source"><ul class="dummy"><li>
-                <a href="types_version.js.html">types/version.js</a>, <a href="types_version.js.html#line101">line 101</a>
-            </li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <div class="method-member-container mt-20">
-    <strong>Returns:</strong>
-        
-            
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">string</span>
-
-
-    </dd>
-</dl>
-
-            
-    </div>
-
-
-
-
-        
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/Monster.Types.html b/docs/Monster.Types.html
deleted file mode 100644
index 4aae67937..000000000
--- a/docs/Monster.Types.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      Types
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6076153" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4157139><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=567470><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1624951><div class="accordion-heading child"><a href="Monster.Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster.Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1597936><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=3296142><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7732220><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6464282><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=228813><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3417425><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6631880><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8503679><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=1883626><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=6723744><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=3823571><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=9367708><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=331745><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=1472395><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3098346><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8194614><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8997485><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=20182><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6460367><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7854899><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=5451503><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=4586466><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3923408><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8272311><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6282289><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1730183><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=640165><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="5212647" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=8935145><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster.Types.html">Types</a></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=3708305><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=5102564><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=290094><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7383981><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8169817" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        Types
-      </h1>
-      
-
-      
-
-
-
-
-<section>
-
-
-<header>
-    
-        
-        <h2>
-        
-            <span class="ancestors"><a href="global.html#Monster">Monster</a>.</span>
-        
-        Types
-        
-        </h2>
-        
-        
-    
-</header>
-
-
-<article>
-    <div class="container-overview">
-    
-        
-
-        
-
-
-
-
-<dl class="details">
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-author">Author:</dt>
-            <dd class="tag-author">
-                <ul>
-                    <li>schukai GmbH</li>
-                </ul>
-            </dd>
-        </div>
-    
-
-    
-
-    
-
-    
-
-    
-        <div class="details-item-container">
-            <dt class="tag-source">Source:</dt>
-            <dd class="tag-source"><ul class="dummy"><li>
-                <a href="types_namespace.js.html">types/namespace.js</a>, <a href="types_namespace.js.html#line3">line 3</a>
-            </li></ul></dd>
-        </div>
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-        
-    
-    </div>
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Classes</h3>
-
-        <dl>
-            <dt><a href="Monster.Types.Version.html">Version</a></dt>
-            <dd></dd>
-        </dl>
-    
-
-     
-
-    
-
-    
-
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/Monster_Constraints.AbstractConstraint.html b/docs/Monster_Constraints.AbstractConstraint.html
index ef9461978..0834a8bd3 100644
--- a/docs/Monster_Constraints.AbstractConstraint.html
+++ b/docs/Monster_Constraints.AbstractConstraint.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster_Constraints.AbstractOperator.html b/docs/Monster_Constraints.AbstractOperator.html
index e6bdc0305..82afc4e1c 100644
--- a/docs/Monster_Constraints.AbstractOperator.html
+++ b/docs/Monster_Constraints.AbstractOperator.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster_Constraints.AndOperator.html b/docs/Monster_Constraints.AndOperator.html
index f82565da1..363ea5fe2 100644
--- a/docs/Monster_Constraints.AndOperator.html
+++ b/docs/Monster_Constraints.AndOperator.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
 new Monster.Constraint.AndOperator();
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
 new AndOperator();
 &lt;/script>
 </code></pre></div>
@@ -260,9 +260,9 @@ new AndOperator();
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
-import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
-import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
 
 new AndOperator(
 new Valid(), new Valid()).isValid()
@@ -278,7 +278,7 @@ new Invalid(), new Valid()).isValid()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js&apos;;\nimport {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js&apos;;\nimport {AndOperator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js&apos;;\n\nnew AndOperator(\nnew Valid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew AndOperator(\nnew Invalid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js&apos;;\nimport {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js&apos;;\nimport {AndOperator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js&apos;;\n\nnew AndOperator(\nnew Valid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew AndOperator(\nnew Invalid(), new Valid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.Invalid.html b/docs/Monster_Constraints.Invalid.html
index 95a5bfd33..9345ce24e 100644
--- a/docs/Monster_Constraints.Invalid.html
+++ b/docs/Monster_Constraints.Invalid.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,13 +149,13 @@
             <div class="class-description"><p>The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Constraint.Invalid()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
 new Monster.Constraint.Invalid();
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
 new Invalid();
 &lt;/script>
 </code></pre></div>
@@ -261,7 +261,7 @@ new Invalid();
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+    <pre class="prettyprint"><code>import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
 
 new Invalid().isValid()
 .then(()=>console.log(true))
@@ -270,7 +270,7 @@ new Invalid().isValid()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js&apos;;\n\nnew Invalid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js&apos;;\n\nnew Invalid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.IsArray.html b/docs/Monster_Constraints.IsArray.html
index d7e38e0b2..324a0c0cb 100644
--- a/docs/Monster_Constraints.IsArray.html
+++ b/docs/Monster_Constraints.IsArray.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Constraint.IsObject()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
 console.log(new Monster.Constraint.IsArray())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
 console.log(new IsArray())
 &lt;/script>
 </code></pre></div>
@@ -260,7 +260,7 @@ console.log(new IsArray())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+    <pre class="prettyprint"><code>import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
 
 new IsArray()
 .isValid([])
@@ -274,7 +274,7 @@ new IsArray()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {IsArray} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js&apos;;\n\nnew IsArray()\n.isValid([])\n.then(()=>console.log(true));\n// ↦ true\n\nnew IsArray()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {IsArray} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js&apos;;\n\nnew IsArray()\n.isValid([])\n.then(()=>console.log(true));\n// ↦ true\n\nnew IsArray()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.IsObject.html b/docs/Monster_Constraints.IsObject.html
index 68bc310b2..34cedbb14 100644
--- a/docs/Monster_Constraints.IsObject.html
+++ b/docs/Monster_Constraints.IsObject.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Constraint.IsObject()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
 console.log(new Monster.Constraint.IsObject())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
 console.log(new IsObject())
 &lt;/script>
 </code></pre></div>
@@ -260,7 +260,7 @@ console.log(new IsObject())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+    <pre class="prettyprint"><code>import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
 
 new IsObject()
 .isValid({})
@@ -275,7 +275,7 @@ new IsObject()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {IsObject} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js&apos;;\n\nnew IsObject()\n.isValid({})\n.then(()=>console.log(true));\n// ↦ true\n\n\nnew IsObject()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {IsObject} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js&apos;;\n\nnew IsObject()\n.isValid({})\n.then(()=>console.log(true));\n// ↦ true\n\n\nnew IsObject()\n.isValid(99)\n.catch(e=>console.log(e));\n// ↦ 99&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.OrOperator.html b/docs/Monster_Constraints.OrOperator.html
index 0a2b71b23..c9cbe0e13 100644
--- a/docs/Monster_Constraints.OrOperator.html
+++ b/docs/Monster_Constraints.OrOperator.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
 new Monster.Constraint.OrOperator();
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
 new OrOperator();
 &lt;/script>
 </code></pre></div>
@@ -260,9 +260,9 @@ new OrOperator();
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
-import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
-import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';
+    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';
 
 new OrOperator(
 new Valid(), new Invalid()).isValid()
@@ -278,7 +278,7 @@ new Invalid(), new Invalid()).isValid()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js&apos;;\nimport {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js&apos;;\nimport {OrOperator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js&apos;;\n\nnew OrOperator(\nnew Valid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew OrOperator(\nnew Invalid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js&apos;;\nimport {Invalid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js&apos;;\nimport {OrOperator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js&apos;;\n\nnew OrOperator(\nnew Valid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true\n\nnew OrOperator(\nnew Invalid(), new Invalid()).isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.Valid.html b/docs/Monster_Constraints.Valid.html
index ddc5ea42c..9dc658900 100644
--- a/docs/Monster_Constraints.Valid.html
+++ b/docs/Monster_Constraints.Valid.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,13 +149,13 @@
             <div class="class-description"><p>The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Constraint.Valid()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
 new Monster.Constraint.Valid();
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
 new Valid();
 &lt;/script>
 </code></pre></div>
@@ -261,7 +261,7 @@ new Valid();
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+    <pre class="prettyprint"><code>import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
 
 new Valid().isValid()
 .then(()=>console.log(true))
@@ -270,7 +270,7 @@ new Valid().isValid()
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js&apos;;\n\nnew Valid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Valid} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js&apos;;\n\nnew Valid().isValid()\n.then(()=>console.log(true))\n.catch(()=>console.log(false));\n// ↦ true&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Constraints.html b/docs/Monster_Constraints.html
index 5c393e1c8..026255f5a 100644
--- a/docs/Monster_Constraints.html
+++ b/docs/Monster_Constraints.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster_DOM.Assembler.html b/docs/Monster_DOM.Assembler.html
index c5f5bd6cc..294513ef4 100644
--- a/docs/Monster_DOM.Assembler.html
+++ b/docs/Monster_DOM.Assembler.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
 console.log(new Monster.DOM.Assembler())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
 console.log(new Assembler())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_DOM.CustomElement.html b/docs/Monster_DOM.CustomElement.html
index bf634227b..0a7bf79d0 100644
--- a/docs/Monster_DOM.CustomElement.html
+++ b/docs/Monster_DOM.CustomElement.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -151,13 +151,13 @@
 <p>important: after defining a <code>CustomElement</code>, the <code>registerCustomElement</code> method must be called
 with the new class name. only then will the tag defined via the <code>getTag</code> method be made known to the DOM.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
 console.log(new Monster.DOM.CustomElement())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
 console.log(new CustomElement())
 &lt;/script>
 </code></pre>
@@ -174,12 +174,7 @@ my-custom-element:defined {
 }
 
 &lt;/style>
-</code></pre>
-<ul>
-<li>@example
-// returns 2
-globalNS.method1(5, 10);</li>
-</ul></div>
+</code></pre></div>
         
     
 </header>
@@ -203,6 +198,11 @@ globalNS.method1(5, 10);</li>
 
 
 
+    <div class="description">
+        <p>A new object is created. First the <code>initOptions</code> method is called. Here the
+options can be defined in derived classes. Subsequently, the shadowRoot is initialized.</p>
+    </div>
+
 
 
 
@@ -285,6 +285,38 @@ globalNS.method1(5, 10);</li>
 
 
 
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>the options attribute does not contain a valid json definition.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+
+    
+    </div>
+
 
 
 
@@ -293,12 +325,35 @@ globalNS.method1(5, 10);</li>
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>// returns 3
-globalNS.method(5, 15);</code></pre>
+    <pre class="prettyprint"><code>// In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.
+// You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.
+
+class MonsterMyElement extends CustomElement {
+
+   constructor() {
+       super();
+   }
+   
+   getTemplate() {
+       return `&lt;div class="form-check">
+                          &lt;label class="form-check-label">
+                              &lt;input class="form-check-input" type="checkbox" value="">
+                              Checkvalue
+                          &lt;/label>
+                        &lt;/div>`
+   }
+
+   static getTag() {
+       return "monster-my-element"
+   }
+
+}
+
+// ↦ &lt;monster-my-element>&lt;/monster-my-element></code></pre>
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;// returns 3\nglobalNS.method(5, 15);&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;// In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n// You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n\nclass MonsterMyElement extends CustomElement {\n\n   constructor() {\n       super();\n   }\n   \n   getTemplate() {\n       return `<div class=\&quot;form-check\&quot;>\n                          <label class=\&quot;form-check-label\&quot;>\n                              <input class=\&quot;form-check-input\&quot; type=\&quot;checkbox\&quot; value=\&quot;\&quot;>\n                              Checkvalue\n                          </label>\n                        </div>`\n   }\n\n   static getTag() {\n       return \&quot;monster-my-element\&quot;\n   }\n\n}\n\n// ↦ <monster-my-element></monster-my-element>&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
@@ -318,21 +373,922 @@ globalNS.method(5, 15);</code></pre>
 
      
 
-    
+    
+
+    
+        <h3 class="subsection-title">Members</h3>
+
+        
+            
+<h4 class="name" id="defaults">
+    <a href="#defaults">#</a>
+    <span class="type-signature"></span>defaults<span class="type-signature"></span>
+</h4>
+
+
+
+
+<div class="description">
+    <table>
+<thead>
+<tr>
+<th>option</th>
+<th>description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td>shadowMode</td>
+<td><code>open</code> Elements of the shadow root are accessible from JavaScript outside the root, for example using. <code>close</code> Denies access to the node(s) of a closed shadow root from JavaScript outside it</td>
+</tr>
+<tr>
+<td>delegatesFocus</td>
+<td>A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling.</td>
+</tr>
+</tbody>
+</table>
+<p>Derived classes can override and extend this method as follows.</p>
+<pre class="prettyprint source"><code>get defaults() {
+   return Object.assign({}, super.defaults, {
+       myValue:true
+   });
+}
+</code></pre>
+</div>
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-see">See:</dt>
+            <dd class="tag-see">
+                <ul>
+                    <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow">https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow</a></li>
+                </ul>
+            </dd>
+        </div>
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+    
+
+    
+        <h3 class="subsection-title">Methods</h3>
+
+        
+            
+
+    
+
+    <h4 class="name" id=".getCSSStyleSheet">
+        <a href="#.getCSSStyleSheet">#</a>
+        <span class="type-signature">(static) </span>getCSSStyleSheet<span class="signature">()</span><span class="type-signature"> &rarr; {CSSStyleSheet}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">CSSStyleSheet</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id=".getTag">
+        <a href="#.getTag">#</a>
+        <span class="type-signature">(static) </span>getTag<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span>
+    </h4>
+
+    
+
+
+
+    <div class="description">
+        <p>There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
+if the name is not valid, registerCustomElement() will issue an erro</p>
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>the method getTag must be overwritten by the derived class.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+
+    
+    </div>
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">string</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id=".getTemplate">
+        <a href="#.getTemplate">#</a>
+        <span class="type-signature">(static) </span>getTemplate<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span>
+    </h4>
+
+    
+
+
+
+    <div class="description">
+        <p>This method defines the default template if no template with the id is found in the dom.</p>
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>the method getTemplate must be overwritten by the derived class.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+
+    
+    </div>
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">string</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id="adoptedCallback">
+        <a href="#adoptedCallback">#</a>
+        <span class="type-signature"></span>adoptedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
+    </h4>
+
+    
+
+
+
+    <div class="description">
+        <p>The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).</p>
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">void</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id="assemble">
+        <a href="#assemble">#</a>
+        <span class="type-signature"></span>assemble<span class="signature">()</span><span class="type-signature"> &rarr; {CustomElement}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">CustomElement</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id="attributeChangedCallback">
+        <a href="#attributeChangedCallback">#</a>
+        <span class="type-signature"></span>attributeChangedCallback<span class="signature">(attrName, oldVal, newVal)</span><span class="type-signature"> &rarr; {void}</span>
+    </h4>
+
+    
+
+
+
+    <div class="description">
+        <p>Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial
+values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.</p>
+    </div>
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Parameters:</strong>
+        
+
+<table class="params">
+    <thead>
+    <tr>
+        
+        <th>Name</th>
+        
+
+        <th>Type</th>
+
+        
+
+        
+
+        <th class="last">Description</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    
+
+        <tr>
+            
+                <td class="name"><code>attrName</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>oldVal</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>newVal</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+    </tbody>
+</table>
+
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">void</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
 
-    
 
-    
-        <h3 class="subsection-title">Methods</h3>
 
         
             
 
     
 
-    <h4 class="name" id=".getTag">
-        <a href="#.getTag">#</a>
-        <span class="type-signature">(static) </span>getTag<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span>
+    <h4 class="name" id="connectedCallback">
+        <a href="#connectedCallback">#</a>
+        <span class="type-signature"></span>connectedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
     </h4>
 
     
@@ -340,8 +1296,8 @@ globalNS.method(5, 15);</code></pre>
 
 
     <div class="description">
-        <p>there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
-if the name is not valid, registerCustomElement() will issue an erro</p>
+        <p>Called every time the element is inserted into the DOM. Useful for running setup code, such as
+fetching resources or rendering. Generally, you should try to delay work until this time.</p>
     </div>
 
 
@@ -405,38 +1361,6 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
 
 
 
-    <div class="method-member-container mt-20">
-    <strong>Throws:</strong>
-    
-        
-
-<dl>
-    <dt>
-        <div class="param-desc">
-        <p>the method getTag must be overwritten by the derived class.</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl>
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">Error</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-
-    
-    </div>
-
 
 
     <div class="method-member-container mt-20">
@@ -451,7 +1375,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
     </dt>
     <dd>
         
-<span class="param-type">string</span>
+<span class="param-type">void</span>
 
 
     </dd>
@@ -468,19 +1392,15 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
 
     
 
-    <h4 class="name" id="adoptedCallback">
-        <a href="#adoptedCallback">#</a>
-        <span class="type-signature"></span>adoptedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
+    <h4 class="name" id="disassemble">
+        <a href="#disassemble">#</a>
+        <span class="type-signature"></span>disassemble<span class="signature">()</span><span class="type-signature"> &rarr; {CustomElement}</span>
     </h4>
 
     
 
 
 
-    <div class="description">
-        <p>The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).</p>
-    </div>
-
 
 
 
@@ -500,6 +1420,11 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
     
 
     
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
 
     
 
@@ -556,7 +1481,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
     </dt>
     <dd>
         
-<span class="param-type">void</span>
+<span class="param-type">CustomElement</span>
 
 
     </dd>
@@ -573,9 +1498,9 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
 
     
 
-    <h4 class="name" id="attributeChangedCallback">
-        <a href="#attributeChangedCallback">#</a>
-        <span class="type-signature"></span>attributeChangedCallback<span class="signature">(attrName, oldVal, newVal)</span><span class="type-signature"> &rarr; {void}</span>
+    <h4 class="name" id="disconnectedCallback">
+        <a href="#disconnectedCallback">#</a>
+        <span class="type-signature"></span>disconnectedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
     </h4>
 
     
@@ -583,8 +1508,7 @@ if the name is not valid, registerCustomElement() will issue an erro</p>
 
 
     <div class="description">
-        <p>Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial
-values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.</p>
+        <p>Called every time the element is removed from the DOM. Useful for running clean up code.</p>
     </div>
 
 
@@ -595,103 +1519,6 @@ values when an element is created by the parser, or upgraded. Note: only attribu
 
 
 
-    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
-        <strong>Parameters:</strong>
-        
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>attrName</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-
-        <tr>
-            
-                <td class="name"><code>oldVal</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-
-        <tr>
-            
-                <td class="name"><code>newVal</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-    </div>
-
 
 
 
@@ -776,19 +1603,15 @@ values when an element is created by the parser, or upgraded. Note: only attribu
 
     
 
-    <h4 class="name" id="connectedCallback">
-        <a href="#connectedCallback">#</a>
-        <span class="type-signature"></span>connectedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
+    <h4 class="name" id="getOption">
+        <a href="#getOption">#</a>
+        <span class="type-signature"></span>getOption<span class="signature">(key, *})</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
 
 
 
-    <div class="description">
-        <p>Called every time the element is inserted into the DOM. Useful for running setup code, such as
-fetching resources or rendering. Generally, you should try to delay work until this time.</p>
-    </div>
 
 
 
@@ -797,6 +1620,74 @@ fetching resources or rendering. Generally, you should try to delay work until t
 
 
 
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Parameters:</strong>
+        
+
+<table class="params">
+    <thead>
+    <tr>
+        
+        <th>Name</th>
+        
+
+        <th>Type</th>
+
+        
+
+        
+
+        <th class="last">Description</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    
+
+        <tr>
+            
+                <td class="name"><code>key</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>*}</code></td>
+            
+
+            <td class="type">
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"><p>defaultValue</p></td>
+        </tr>
+
+    
+    </tbody>
+</table>
+
+    </div>
 
 
 
@@ -809,6 +1700,11 @@ fetching resources or rendering. Generally, you should try to delay work until t
     
 
     
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
 
     
 
@@ -865,7 +1761,7 @@ fetching resources or rendering. Generally, you should try to delay work until t
     </dt>
     <dd>
         
-<span class="param-type">void</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -882,19 +1778,15 @@ fetching resources or rendering. Generally, you should try to delay work until t
 
     
 
-    <h4 class="name" id="disconnectedCallback">
-        <a href="#disconnectedCallback">#</a>
-        <span class="type-signature"></span>disconnectedCallback<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span>
+    <h4 class="name" id="init">
+        <a href="#init">#</a>
+        <span class="type-signature"></span>init<span class="signature">()</span><span class="type-signature"> &rarr; {CustomElement}</span>
     </h4>
 
     
 
 
 
-    <div class="description">
-        <p>Called every time the element is removed from the DOM. Useful for running clean up code.</p>
-    </div>
-
 
 
 
@@ -914,6 +1806,11 @@ fetching resources or rendering. Generally, you should try to delay work until t
     
 
     
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
 
     
 
@@ -970,7 +1867,7 @@ fetching resources or rendering. Generally, you should try to delay work until t
     </dt>
     <dd>
         
-<span class="param-type">void</span>
+<span class="param-type">CustomElement</span>
 
 
     </dd>
diff --git a/docs/Monster_DOM.Handle.html b/docs/Monster_DOM.Handle.html
deleted file mode 100644
index 6bccd848e..000000000
--- a/docs/Monster_DOM.Handle.html
+++ /dev/null
@@ -1,677 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    
-    <meta charset="utf-8">
-    <title>Handle - awaken the monster in you; javascript library by schukai GmbH</title>
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-    
-    <script src="scripts/prettify/prettify.js"></script>
-    <script src="scripts/prettify/lang-css.js"></script>
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/prettify.css">
-    <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
-    <script src="scripts/nav.js" defer></script>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-</head>
-<body>
-
-<input type="checkbox" id="nav-trigger" class="nav-trigger" />
-<label for="nav-trigger" class="navicon-button x">
-  <div class="navicon"></div>
-</label>
-
-<label for="nav-trigger" class="overlay"></label>
-
-<nav >
-    
-    <input type="text" id="nav-search" placeholder="Search" />
-    
-    <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li><a href="Monster.DOM.html">DOM</a></li></ul><h3>Classes</h3><ul><li><a href="Monster.DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="Monster.DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3>
-</nav>
-
-<div id="main">
-    
-    <h1 class="page-title">Handle</h1>
-    
-
-    
-
-
-
-
-<section>
-
-<header>
-    
-        <h2>
-        Handle
-        </h2>
-        
-            <div class="class-description usertext"><p>Handle class</p>
-<p>you can call the method via the monster namespace <code>new Monster.DOM.Handle()</code>.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/handle.js';
-console.log(new Monster.DOM.Handle())
-&lt;/script>
-</code></pre>
-<p>Alternatively, you can also integrate this function individually.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/handle.js';
-console.log(new Handle())
-&lt;/script>
-</code></pre></div>
-        
-    
-</header>
-
-<article>
-    
-        <div class="container-overview">
-        
-            
-
-    
-    <h2>Constructor</h2>
-    
-
-    <h4 class="name" id="Handle"><span class="type-signature"></span>new Handle<span class="signature">(data)</span><span class="type-signature"></span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line48">line 48</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-    <dt class="tag-since">Since:</dt>
-    <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-    <dt class="tag-copyright">Copyright:</dt>
-    <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>data</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">ProxyObserver</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-        
-        </div>
-    
-
-    
-
-    
-
-    
-    
-    
-
-     
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Methods</h3>
-
-        
-            
-
-    
-
-    <h4 class="name" id="append"><span class="type-signature"></span>append<span class="signature">(node)</span><span class="type-signature"> &rarr; {Handle}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line113">line 113</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>node</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">HTMLElement</span>
-|
-
-<span class="param-type">Document</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">Handle</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="remove"><span class="type-signature"></span>remove<span class="signature">(node)</span><span class="type-signature"> &rarr; {Handle}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line87">line 87</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>node</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">HTMLElement</span>
-|
-
-<span class="param-type">Document</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">Handle</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="update"><span class="type-signature"></span>update<span class="signature">()</span><span class="type-signature"> &rarr; {void}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_handle.js.html">dom/handle.js</a>, <a href="dom_handle.js.html#line76">line 76</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">void</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    
-    
-</div>
-
-<br class="clear">
-
-<footer>
-</footer>
-
-<script>prettyPrint();</script>
-<script src="scripts/polyfill.js"></script>
-<script src="scripts/linenumber.js"></script>
-
-<script src="scripts/search.js" defer></script>
-
-
-<script src="scripts/collapse.js" defer></script>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/Monster_DOM.Template.html b/docs/Monster_DOM.Template.html
index f852a2e7e..fa22668e0 100644
--- a/docs/Monster_DOM.Template.html
+++ b/docs/Monster_DOM.Template.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.DOM.Template()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
 console.log(new Monster.DOM.Template())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
 console.log(new Template())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_DOM.Theme.html b/docs/Monster_DOM.Theme.html
index d5191f378..0f6f986db 100644
--- a/docs/Monster_DOM.Theme.html
+++ b/docs/Monster_DOM.Theme.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.DOM.Theme()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
 console.log(new Monster.DOM.Theme())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
 console.log(new Theme())
 &lt;/script>
 </code></pre></div>
@@ -338,7 +338,7 @@ console.log(new Theme())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+    <pre class="prettyprint"><code>import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
 
 const theme = getDocumentTheme();
 console.log(theme.getName());
@@ -346,7 +346,7 @@ console.log(theme.getName());
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {getDocumentTheme} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js&apos;;\n\nconst theme = getDocumentTheme();\nconsole.log(theme.getName());\n// ↦ monster&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {getDocumentTheme} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js&apos;;\n\nconst theme = getDocumentTheme();\nconsole.log(theme.getName());\n// ↦ monster&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_DOM.Updater.html b/docs/Monster_DOM.Updater.html
new file mode 100644
index 000000000..fda6e6aa1
--- /dev/null
+++ b/docs/Monster_DOM.Updater.html
@@ -0,0 +1,1209 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Adding meta -->
+    
+    
+    <meta name="author" content="schukai GmbH" />
+    
+    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
+    
+    
+
+    <!-- Adding external script-->
+    
+    
+    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
+    
+    
+
+    <!-- Adding external style-->
+    
+    
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
+    
+    
+
+    <!-- Adding scripts-->
+    
+
+    <!-- Adding style-->
+    
+
+    <!-- Adding overlay script-->
+    
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
+      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
+      crossorigin="anonymous"></script>
+    
+
+    <!-- Adding overlay style-->
+    
+
+
+    <title>
+      Updater
+    </title>
+
+    <!--[if lt IE 9]>
+      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
+    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
+    <link type="text/css" rel="stylesheet" href="styles/reset.css">
+    <link type="text/css" rel="stylesheet" href="styles/heading.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
+    
+    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+    style="display:none">
+    <defs>
+        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
+            <g>
+                <path
+                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
+                <path
+                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
+            </g>
+        </symbol>
+        <symbol id='search-icon' viewBox="0 0 512 512">
+            <g>
+                <g>
+                    <path
+                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
+                </g>
+            </g>
+            <g>
+                <g>
+                    <path
+                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
+                </g>
+            </g>
+        </symbol>
+        <symbol id="down-icon" viewBox="0 0 16 16">
+            <path 
+                fill-rule="evenodd" 
+                clip-rule="evenodd" 
+                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
+            >
+            </path>
+        </symbol>
+    </defs>
+</svg>
+  </head>
+
+  <body>
+
+    <nav class="navbar" id="navbar">
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      
+        <div class="navbar-resize" id="navbar-resize">
+          <div class="resize-dots-container">
+            <div class="dots"></div>
+            <div class="dots"></div>
+            <div class="dots"></div>
+          </div> 
+        </div>
+      
+
+    </nav>
+    <div class="navbar-ham" id="navbar-ham">
+      <div>
+        <div class="first"></div>
+        <div class="second"></div>
+        <div class="third"></div>
+      </div>
+    </div>
+
+    <div id="main" class="main-content">
+      
+      <h1 id='page-title' class="page-title">
+        Updater
+      </h1>
+      
+
+      
+
+
+
+
+<section>
+
+
+<header>
+    
+        
+        <h2>
+        
+            <span class="ancestors"><a href="Monster_DOM.html">Monster/DOM</a>.</span>
+        
+        Updater
+        
+        </h2>
+        
+        
+            <div class="class-description"><p>The updater class connects an object with the dom. in this way, structures and contents in the DOM can be programmatically adapted via attributes.</p>
+<p>For example, to include a string from an object, the attribute <code>data-monster-replace</code> can be used.</p>
+<p>you can call the method via the monster namespace <code>new Monster.DOM.Updater()</code>.</p>
+<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+console.log(new Monster.DOM.Updater())
+&lt;/script>
+</code></pre>
+<p>Alternatively, you can also integrate this function individually.</p>
+<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
+import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+console.log(new Updater())
+&lt;/script>
+</code></pre></div>
+        
+    
+</header>
+
+
+<article>
+    <div class="container-overview">
+    
+        
+
+    
+        <h2>Constructor</h2>
+    
+
+    <h4 class="name" id="Updater">
+        <a href="#Updater">#</a>
+        <span class="type-signature"></span>new Updater<span class="signature">(element, subject)</span><span class="type-signature"></span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Parameters:</strong>
+        
+
+<table class="params">
+    <thead>
+    <tr>
+        
+        <th>Name</th>
+        
+
+        <th>Type</th>
+
+        
+
+        
+
+        <th class="last">Description</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    
+
+        <tr>
+            
+                <td class="name"><code>element</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">HTMLElement</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>subject</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">object</span>
+|
+
+<span class="param-type">ProxyObserver</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+    </tbody>
+</table>
+
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-copyright">Copyright:</dt>
+            <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        <ul>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>the value is not iterable</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>pipes are not allowed when cloning a node.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>no template was found with the specified key.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>the maximum depth for the recursion is reached.</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">Error</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not a object</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not an instance of HTMLElement</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+        </ul>
+    
+    </div>
+
+
+
+
+
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Example</strong>
+        
+    <div class="rel">
+    <pre class="prettyprint"><code>// First we prepare the html document.
+// This is done here via script, but can also be inserted into the document as pure html. 
+// To do this, simply insert the tag &lt;h1 data-monster-replace="path:headline">&lt;/h1>.
+const body = document.querySelector('body');
+const headline = document.createElement('h1');
+headline.setAttribute('data-monster-replace','path:headline')
+body.appendChild(headline);
+
+// the data structure
+let obj = {
+   headline: "Hello World",
+};
+
+// Now comes the real magic. we pass the updater the parent HTMLElement
+// and the desired data structure.
+new Updater(body, obj).run();
+
+// Now you can change the data structure and the HTML will follow these changes.
+obj['headline'] = "Hello World!" </code></pre>
+    
+    
+        <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;// First we prepare the html document.\n// This is done here via script, but can also be inserted into the document as pure html. \n// To do this, simply insert the tag <h1 data-monster-replace=\&quot;path:headline\&quot;></h1>.\nconst body = document.querySelector(&apos;body&apos;);\nconst headline = document.createElement(&apos;h1&apos;);\nheadline.setAttribute(&apos;data-monster-replace&apos;,&apos;path:headline&apos;)\nbody.appendChild(headline);\n\n// the data structure\nlet obj = {\n   headline: \&quot;Hello World\&quot;,\n};\n\n// Now comes the real magic. we pass the updater the parent HTMLElement\n// and the desired data structure.\nnew Updater(body, obj).run();\n\n// Now you can change the data structure and the HTML will follow these changes.\nobj[&apos;headline&apos;] = \&quot;Hello World!\&quot; &quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
+        </form>
+    
+    </div>
+
+    </div>
+
+
+    
+    </div>
+
+    
+
+    
+
+    
+
+     
+
+    
+
+    
+        <h3 class="subsection-title">Members</h3>
+
+        
+            
+<h4 class="name" id="element">
+    <a href="#element">#</a>
+    <span class="type-signature"></span>element<span class="type-signature"> :HTMLElement</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">HTMLElement</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id="subject">
+    <a href="#subject">#</a>
+    <span class="type-signature"></span>subject<span class="type-signature"> :object</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">object</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+    
+
+    
+        <h3 class="subsection-title">Methods</h3>
+
+        
+            
+
+    
+
+    <h4 class="name" id="getSubject">
+        <a href="#getSubject">#</a>
+        <span class="type-signature"></span>getSubject<span class="signature">()</span><span class="type-signature"> &rarr; {ProxyObserver}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">ProxyObserver</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id="run">
+        <a href="#run">#</a>
+        <span class="type-signature"></span>run<span class="signature">()</span><span class="type-signature"> &rarr; {Promise}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">Promise</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+            
+
+    
+
+    <h4 class="name" id="setCallback">
+        <a href="#setCallback">#</a>
+        <span class="type-signature"></span>setCallback<span class="signature">(name, callback)</span><span class="type-signature"> &rarr; {Transformer}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Parameters:</strong>
+        
+
+<table class="params">
+    <thead>
+    <tr>
+        
+        <th>Name</th>
+        
+
+        <th>Type</th>
+
+        
+
+        
+
+        <th class="last">Description</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    
+
+        <tr>
+            
+                <td class="name"><code>name</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>callback</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">function</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+    </tbody>
+</table>
+
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        <ul>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not a string</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not a function</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+        </ul>
+    
+    </div>
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">Transformer</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
+    
+
+    
+
+    
+</article>
+
+</section>
+
+
+
+
+    </div>
+
+    <footer class="footer" id="footer">
+      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
+    </footer>
+
+    <script src="scripts/third-party/prettify.js"></script>
+    <script src="scripts/third-party/lang-css.js"></script>
+    <script type="text/javascript" src="scripts/misc.js"></script>
+
+    <script>prettyPrint();</script>
+    <script src="scripts/linenumber.js"></script>
+    <script src="scripts/fix-code-block.js"></script>
+    <script src="scripts/fix-navbar.js"></script>
+    
+
+    
+
+    
+      <script src="scripts/resize.js"></script>
+      <script type="text/javascript">
+        var option = {"min":"300","max":"600"}
+        setupResizeOptions(option)
+      </script>
+    
+
+    
+
+    
+    <script type="text/javascript">
+    var option = JSON.parse('{"options":{}}')
+      console.log(option)
+      document.addEventListener("DOMContentLoaded", function () {
+        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
+      });
+    </script>
+    
+
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/docs/Monster_DOM.html b/docs/Monster_DOM.html
index d346cc61a..b821aea6d 100644
--- a/docs/Monster_DOM.html
+++ b/docs/Monster_DOM.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -228,15 +228,706 @@
         
             <dt><a href="Monster_DOM.Theme.html">Theme</a></dt>
             <dd></dd>
+        
+            <dt><a href="Monster_DOM.Updater.html">Updater</a></dt>
+            <dd></dd>
         </dl>
     
 
-     
+     
+
+    
+
+    
+        <h3 class="subsection-title">Members</h3>
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_OPTIONS">
+    <a href="#.ATTRIBUTE_OPTIONS">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_OPTIONS<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_PREFIX">
+    <a href="#.ATTRIBUTE_PREFIX">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_PREFIX<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_THEME_NAME">
+    <a href="#.ATTRIBUTE_THEME_NAME">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_THEME_NAME<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_THEME_PREFIX">
+    <a href="#.ATTRIBUTE_THEME_PREFIX">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_THEME_PREFIX<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_UPDATER_ATTRIBUTES">
+    <a href="#.ATTRIBUTE_UPDATER_ATTRIBUTES">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_ATTRIBUTES<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_UPDATER_INSERT">
+    <a href="#.ATTRIBUTE_UPDATER_INSERT">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_INSERT<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_UPDATER_INSERT_REFERENCE">
+    <a href="#.ATTRIBUTE_UPDATER_INSERT_REFERENCE">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_INSERT_REFERENCE<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
 
     
 
     
-        <h3 class="subsection-title">Members</h3>
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_UPDATER_REMOVE">
+    <a href="#.ATTRIBUTE_UPDATER_REMOVE">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_REMOVE<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".ATTRIBUTE_UPDATER_REPLACE">
+    <a href="#.ATTRIBUTE_UPDATER_REPLACE">#</a>
+    <span class="type-signature">(static, constant) </span>ATTRIBUTE_UPDATER_REPLACE<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+        <div class="details-item-container">
+            <dt class="tag-since">Since:</dt>
+            <dd class="tag-since"><ul class="dummy"><li>1.8.0</li></ul></dd>
+        </div>
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
 
         
             
@@ -293,6 +984,82 @@
     
 
     
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+        
+            
+<h4 class="name" id=".DEFAULT_THEME">
+    <a href="#.DEFAULT_THEME">#</a>
+    <span class="type-signature">(static, constant) </span>DEFAULT_THEME<span class="type-signature"> :string</span>
+</h4>
+
+
+
+
+<div class="description">
+    <p>default theme</p>
+</div>
+
+
+
+    <div class="member-item-container flex">
+        <strong>Type: </strong>
+        <ul>
+            <li>
+                
+<span class="param-type">string</span>
+
+
+            </li>
+        </ul>
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
 
     
 
@@ -337,13 +1104,13 @@
     <div class="description">
         <p>you can call the method via the monster namespace <code>Monster.DOM.findDocumentTemplate()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
 console.log(Monster.DOM.findDocumentTemplate())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
 console.log(findDocumentTemplate())
 &lt;/script>
 </code></pre>
@@ -577,13 +1344,13 @@ console.log(findDocumentTemplate())
     <div class="description">
         <p>this method fetches the document object</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(Monster.DOM.getDocument())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(getDocument())
 &lt;/script>
 </code></pre>
@@ -759,13 +1526,13 @@ if (typeof window !== &quot;object&quot;) {
     <div class="description">
         <p>this method fetches the document object</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(Monster.DOM.getDocumentFragmentFromString())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(getDocumentFragmentFromString('&lt;div>&lt;/div>'))
 &lt;/script>
 </code></pre>
@@ -975,13 +1742,13 @@ if (typeof window !== &quot;object&quot;) {
 handle is found, or undefined is returned.</p>
 <p>you can call the method via the monster namespace <code>Monster.DOM.getHandleFromNode()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
 console.log(Monster.DOM.getHandleFromNode())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
 console.log(getHandleFromNode())
 &lt;/script>
 </code></pre>
@@ -1187,13 +1954,13 @@ console.log(getHandleFromNode())
     <div class="description">
         <p>this method fetches the window object</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(Monster.DOM.getWindow())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
 console.log(getWindow(null))
 &lt;/script>
 </code></pre>
@@ -1369,7 +2136,7 @@ if (typeof window !== &quot;object&quot;) {
 
 
     <div class="description">
-        <p>this method registers a new element. the string returned by <code>CustomElement.getTag()</code> is used as the tag.</p>
+        <p>This method registers a new element. The string returned by <code>CustomElement.getTag()</code> is used as the tag.</p>
     </div>
 
 
diff --git a/docs/Monster_Data.Pathfinder.html b/docs/Monster_Data.Pathfinder.html
index 39e21d0a6..3fb27f329 100644
--- a/docs/Monster_Data.Pathfinder.html
+++ b/docs/Monster_Data.Pathfinder.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Data.Pathfinder()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
 console.log(new Monster.Data.Pathfinder())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
 console.log(new Pathfinder())
 &lt;/script>
 </code></pre>
@@ -343,7 +343,7 @@ new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}
         <strong>Examples</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+    <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
 
 let value = new Pathfinder({
 a: {
@@ -369,14 +369,14 @@ try {
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pathfinder} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js&apos;;\n\nlet value = new Pathfinder({\na: {\n    b: {\n        f: [\n            {\n                g: false,\n            }\n        ],\n    }\n}\n}).getVia(\&quot;a.b.f.0.g\&quot;);\n\n console.log(value);\n // ↦ false\n\ntry {\n  new Pathfinder({}).getVia(\&quot;a.b.f.0.g\&quot;);  \n} catch(e) {\n  console.log(e.toString());\n  // ↦ Error: the journey is not at its end (b.f.0.g)\n}&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pathfinder} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js&apos;;\n\nlet value = new Pathfinder({\na: {\n    b: {\n        f: [\n            {\n                g: false,\n            }\n        ],\n    }\n}\n}).getVia(\&quot;a.b.f.0.g\&quot;);\n\n console.log(value);\n // ↦ false\n\ntry {\n  new Pathfinder({}).getVia(\&quot;a.b.f.0.g\&quot;);  \n} catch(e) {\n  console.log(e.toString());\n  // ↦ Error: the journey is not at its end (b.f.0.g)\n}&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
     </div>
 
     <div class="rel">
-    <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+    <pre class="prettyprint"><code>import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
 
 let p = new Pathfinder({
                a: {
@@ -398,7 +398,7 @@ console.log(r);</code></pre>
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pathfinder} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js&apos;;\n\nlet p = new Pathfinder({\n               a: {\n                   x: [\n                       {c: 1}, {c: 2}\n                   ],\n                   y: true\n               },\n               b: {\n                   x: [\n                       {c: 1, d: false}, {c: 2}\n                   ],\n                   y: true\n               },\n           });\n\nlet r = p.getVia(\&quot;*.x.*.c\&quot;);\nconsole.log(r);&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pathfinder} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js&apos;;\n\nlet p = new Pathfinder({\n               a: {\n                   x: [\n                       {c: 1}, {c: 2}\n                   ],\n                   y: true\n               },\n               b: {\n                   x: [\n                       {c: 1, d: false}, {c: 2}\n                   ],\n                   y: true\n               },\n           });\n\nlet r = p.getVia(\&quot;*.x.*.c\&quot;);\nconsole.log(r);&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Data.Pipe.html b/docs/Monster_Data.Pipe.html
index 833e1efe6..76f5b30d6 100644
--- a/docs/Monster_Data.Pipe.html
+++ b/docs/Monster_Data.Pipe.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,13 +149,13 @@
             <div class="class-description"><p>The pipe class makes it possible to combine several processing steps.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Data.Pipe()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
 console.log(new Monster.Data.Pipe())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
 console.log(new Pipe())
 &lt;/script>
 </code></pre>
@@ -333,7 +333,7 @@ the word is then converted to uppercase letters and a prefix Hello is added. the
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+    <pre class="prettyprint"><code>import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
 
 let obj = {
    a: {
@@ -350,7 +350,7 @@ console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pipe} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js&apos;;\n\nlet obj = {\n   a: {\n       b: {\n           c: {\n               d: \&quot;world\&quot;\n           }\n       }\n   }\n}\n\nconsole.log(new Pipe(&apos;path:a.b.c.d | toupper | prefix:Hello\\\\ &apos;).run(obj));\n// ↦ Hello WORLD&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Pipe} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js&apos;;\n\nlet obj = {\n   a: {\n       b: {\n           c: {\n               d: \&quot;world\&quot;\n           }\n       }\n   }\n}\n\nconsole.log(new Pipe(&apos;path:a.b.c.d | toupper | prefix:Hello\\\\ &apos;).run(obj));\n// ↦ Hello WORLD&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
@@ -534,6 +534,244 @@ console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
 
 
         
+            
+
+    
+
+    <h4 class="name" id="setCallback">
+        <a href="#setCallback">#</a>
+        <span class="type-signature"></span>setCallback<span class="signature">(name, callback)</span><span class="type-signature"> &rarr; {Transformer}</span>
+    </h4>
+
+    
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container flex flex-col w-100 overflow-auto mt-20">
+        <strong>Parameters:</strong>
+        
+
+<table class="params">
+    <thead>
+    <tr>
+        
+        <th>Name</th>
+        
+
+        <th>Type</th>
+
+        
+
+        
+
+        <th class="last">Description</th>
+    </tr>
+    </thead>
+
+    <tbody>
+    
+
+        <tr>
+            
+                <td class="name"><code>name</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">string</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+
+        <tr>
+            
+                <td class="name"><code>callback</code></td>
+            
+
+            <td class="type">
+            
+                
+<span class="param-type">function</span>
+
+
+            
+            </td>
+
+            
+
+            
+
+            <td class="description last"></td>
+        </tr>
+
+    
+    </tbody>
+</table>
+
+    </div>
+
+
+
+
+
+
+
+<dl class="details">
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+
+    
+</dl>
+
+
+
+
+
+
+
+
+
+
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Throws:</strong>
+    
+        <ul>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not a string</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+                <li>
+
+<dl>
+    <dt>
+        <div class="param-desc">
+        <p>value is not a function</p>
+        </div>
+    </dt>
+    <dd></dd>
+    <dt>
+        <dl>
+            <dt>
+                Type
+            </dt>
+            <dd>
+                
+<span class="param-type">TypeError</span>
+
+
+            </dd>
+        </dl>
+    </dt>
+    <dd></dd>
+</dl>
+
+</li>
+            
+        </ul>
+    
+    </div>
+
+
+
+    <div class="method-member-container mt-20">
+    <strong>Returns:</strong>
+        
+            
+
+
+<dl class="param-type">
+    <dt>
+        Type
+    </dt>
+    <dd>
+        
+<span class="param-type">Transformer</span>
+
+
+    </dd>
+</dl>
+
+            
+    </div>
+
+
+
+
+        
     
 
     
diff --git a/docs/Monster_Data.Transformer.html b/docs/Monster_Data.Transformer.html
index fcea24220..338c5dd7c 100644
--- a/docs/Monster_Data.Transformer.html
+++ b/docs/Monster_Data.Transformer.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,13 +149,13 @@
             <div class="class-description"><p>The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Data.Transformer()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
 console.log(new Monster.Data.Transformer())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
 console.log(new Transformer())
 &lt;/script>
 </code></pre>
@@ -265,6 +265,12 @@ console.log(new Transformer())
 <td style="text-align:left">Type conversion to an integer value</td>
 </tr>
 <tr>
+<td style="text-align:left">tojson</td>
+<td style="text-align:left"></td>
+<td style="text-align:left"></td>
+<td style="text-align:left">Type conversion to an JSON string (since 1.8.0)</td>
+</tr>
+<tr>
 <td style="text-align:left">tolower</td>
 <td style="text-align:left"></td>
 <td style="text-align:left">strtolower, tolowercase</td>
@@ -494,7 +500,7 @@ global['crypto'] = new Crypto.Crypto();
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+    <pre class="prettyprint"><code>import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
 
 const transformer = new Transformer("tolower")
 
@@ -506,7 +512,7 @@ console.log(transformer.run("WORLD"))
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Transformer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js&apos;;\n\nconst transformer = new Transformer(\&quot;tolower\&quot;)\n\nconsole.log(transformer.run(\&quot;HELLO\&quot;))\n// ↦ hello\n\nconsole.log(transformer.run(\&quot;WORLD\&quot;))\n// ↦ world&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Transformer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js&apos;;\n\nconst transformer = new Transformer(\&quot;tolower\&quot;)\n\nconsole.log(transformer.run(\&quot;HELLO\&quot;))\n// ↦ hello\n\nconsole.log(transformer.run(\&quot;WORLD\&quot;))\n// ↦ world&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Data.html b/docs/Monster_Data.html
index 98526614a..0a4ea18c7 100644
--- a/docs/Monster_Data.html
+++ b/docs/Monster_Data.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -256,13 +256,13 @@
 <p>The operator <code>add</code> means that something has been added to the second object. <code>delete</code> means that something has been deleted from the second object compared to the first object.</p>
 <p>You can call the method via the monster namespace <code>Monster.Data.Diff()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
 console.log(Monster.Data.Diff(a, b))
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
 console.log(Diff(a, b))
 &lt;/script>
 </code></pre>
@@ -442,7 +442,7 @@ console.log(Diff(a, b))
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+    <pre class="prettyprint"><code>import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
 
 // given are two objects x and y.
 
@@ -484,7 +484,7 @@ console.log(Diff(x, y));
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Diff} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js&apos;;\n\n// given are two objects x and y.\n\nlet x = {\n    a: 1,\n    b: \&quot;Hello!\&quot;\n}\n\n let y = {\n    a: 2,\n    c: true\n}\n\n// These two objects can be compared with each other.\n\nconsole.log(Diff(x, y));\n\n// the result is then the following\n\n//\n// [\n// {\n//        operator: &apos;update&apos;,\n//        path: [ &apos;a&apos; ],\n//        first: { value: 1, type: &apos;number&apos; },\n//        second: { value: 2, type: &apos;number&apos; }\n//    },\n// {\n//        operator: &apos;delete&apos;,\n//        path: [ &apos;b&apos; ],\n//        first: { value: &apos;Hello!&apos;, type: &apos;string&apos; }\n//    },\n// {\n//        operator: &apos;add&apos;,\n//        path: [ &apos;c&apos; ],\n//        second: { value: true, type: &apos;boolean&apos; }\n//    }\n// ]&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Diff} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js&apos;;\n\n// given are two objects x and y.\n\nlet x = {\n    a: 1,\n    b: \&quot;Hello!\&quot;\n}\n\n let y = {\n    a: 2,\n    c: true\n}\n\n// These two objects can be compared with each other.\n\nconsole.log(Diff(x, y));\n\n// the result is then the following\n\n//\n// [\n// {\n//        operator: &apos;update&apos;,\n//        path: [ &apos;a&apos; ],\n//        first: { value: 1, type: &apos;number&apos; },\n//        second: { value: 2, type: &apos;number&apos; }\n//    },\n// {\n//        operator: &apos;delete&apos;,\n//        path: [ &apos;b&apos; ],\n//        first: { value: &apos;Hello!&apos;, type: &apos;string&apos; }\n//    },\n// {\n//        operator: &apos;add&apos;,\n//        path: [ &apos;c&apos; ],\n//        second: { value: true, type: &apos;boolean&apos; }\n//    }\n// ]&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Logging.Handler.html b/docs/Monster_Logging.Handler.html
index 437e3e452..c60ab8578 100644
--- a/docs/Monster_Logging.Handler.html
+++ b/docs/Monster_Logging.Handler.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Handler()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
 console.log(new Monster.Logging.Handler())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
 console.log(new Handler())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Logging.LogEntry.html b/docs/Monster_Logging.LogEntry.html
index 16759416c..3590cf2b8 100644
--- a/docs/Monster_Logging.LogEntry.html
+++ b/docs/Monster_Logging.LogEntry.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.LogEntry()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
 console.log(new Monster.Logging.LogEntry())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
 console.log(new LogEntry())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Logging.Logger.html b/docs/Monster_Logging.Logger.html
index bb8070b9e..5b818daeb 100644
--- a/docs/Monster_Logging.Logger.html
+++ b/docs/Monster_Logging.Logger.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Logger()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
 console.log(new Monster.Logging.Logger())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
 console.log(new Logger())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Logging.html b/docs/Monster_Logging.html
index efd5039d4..db75f6eaa 100644
--- a/docs/Monster_Logging.html
+++ b/docs/Monster_Logging.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster_Logging_Handler.ConsoleHandler.html b/docs/Monster_Logging_Handler.ConsoleHandler.html
index 1a1d2aed6..99c2bdcf8 100644
--- a/docs/Monster_Logging_Handler.ConsoleHandler.html
+++ b/docs/Monster_Logging_Handler.ConsoleHandler.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>you can call the method via the monster namespace <code>new Monster.Logging.Handler.ConsoleHandler()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
 console.log(new Monster.Logging.Handler.ConsoleHandler())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
 console.log(new ConsoleHandler())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Logging_Handler.html b/docs/Monster_Logging_Handler.html
index db1a5e37d..4dfda5f73 100644
--- a/docs/Monster_Logging_Handler.html
+++ b/docs/Monster_Logging_Handler.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
diff --git a/docs/Monster_Math.html b/docs/Monster_Math.html
index 3387300e3..dc2c1324d 100644
--- a/docs/Monster_Math.html
+++ b/docs/Monster_Math.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -242,13 +242,13 @@
         <p>this function uses crypt and returns a random number.</p>
 <p>you can call the method via the monster namespace <code>Monster.Math.random()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
 console.log(Monster.Math.random(1,10)) // ↦ 5
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
 console.log(random(1,10)) // ↦ 5
 &lt;/script>
 </code></pre>
diff --git a/docs/Monster_Types.Base.html b/docs/Monster_Types.Base.html
index 8413cfc10..65bf1895b 100644
--- a/docs/Monster_Types.Base.html
+++ b/docs/Monster_Types.Base.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,14 +149,14 @@
             <div class="class-description"><p>This is the base class from which all monster classes are derived.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Types.Base()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
 console.log(new Monster.Types.Base())
 console.log(new Monster.Types.Base())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
 console.log(new Base())
 console.log(new Base())
 &lt;/script>
diff --git a/docs/Monster_Types.ID.html b/docs/Monster_Types.ID.html
index 62e23ddd8..725ef5d2b 100644
--- a/docs/Monster_Types.ID.html
+++ b/docs/Monster_Types.ID.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -152,13 +152,13 @@ The ids are the same for every call, for example on a web page.</p>
 <p>So the ids can also be used for navigation. you just have to take care that the order stays the same.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Types.ID()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
 console.log(new Monster.Types.ID())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
 console.log(new ID())
 &lt;/script>
 </code></pre>
diff --git a/docs/Monster_Types.Observer.html b/docs/Monster_Types.Observer.html
index 0cd502b6b..f8aba6131 100644
--- a/docs/Monster_Types.Observer.html
+++ b/docs/Monster_Types.Observer.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,13 +149,13 @@
             <div class="class-description"><p>An observer manages a callback function</p>
 <p>You can call the method via the monster namespace <code>new Monster.Types.Observer()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
 console.log(new Monster.Types.Observer())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
 console.log(new Observer())
 &lt;/script>
 </code></pre>
@@ -375,7 +375,7 @@ Observer(function(a, b, c) {
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+    <pre class="prettyprint"><code>import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
 
 const observer = new Observer(function(a, b, c) {
      console.log(this, a, b, c); // ↦ "a", 2, true 
@@ -386,7 +386,7 @@ observer.update({value:true}).then(()=>{});
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Observer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js&apos;;\n\nconst observer = new Observer(function(a, b, c) {\n     console.log(this, a, b, c); // ↦ \&quot;a\&quot;, 2, true \n}, \&quot;a\&quot;, 2, true);\n\nobserver.update({value:true}).then(()=>{});\n// ↦ {value: true} \&quot;a\&quot; 2 true&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Observer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js&apos;;\n\nconst observer = new Observer(function(a, b, c) {\n     console.log(this, a, b, c); // ↦ \&quot;a\&quot;, 2, true \n}, \&quot;a\&quot;, 2, true);\n\nobserver.update({value:true}).then(()=>{});\n// ↦ {value: true} \&quot;a\&quot; 2 true&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Types.ObserverList.html b/docs/Monster_Types.ObserverList.html
index 32b338270..577535b2a 100644
--- a/docs/Monster_Types.ObserverList.html
+++ b/docs/Monster_Types.ObserverList.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,14 +149,14 @@
             <div class="class-description"><p>With the help of the ObserverList class, observer can be managed.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Types.ObserverList()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
 console.log(new Monster.Types.ObserverList())
 console.log(new Monster.Types.ObserverList())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
 console.log(ObserverList())
 console.log(ObserverList())
 &lt;/script>
diff --git a/docs/Monster_Types.ProxyObserver.html b/docs/Monster_Types.ProxyObserver.html
index a87d029af..e5d3a4741 100644
--- a/docs/Monster_Types.ProxyObserver.html
+++ b/docs/Monster_Types.ProxyObserver.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -146,16 +146,16 @@
         </h2>
         
         
-            <div class="class-description"><p>an observer manages a callback function</p>
-<p>you can call the method via the monster namespace <code>new Monster.Types.ProxyObserver()</code>.</p>
+            <div class="class-description"><p>An observer manages a callback function</p>
+<p>You can call the method via the monster namespace <code>new Monster.Types.ProxyObserver()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
 console.log(new Monster.Types.ProxyObserver())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
 console.log(new ProxyObserver())
 &lt;/script>
 </code></pre>
@@ -346,9 +346,9 @@ console.log(new ProxyObserver())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
-import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
-import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+    <pre class="prettyprint"><code>import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
+import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
+import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 
 const o = new Observer(function () { 
   if (isObject(this) &amp;&amp; this instanceof ProxyObserver) {
@@ -374,7 +374,7 @@ s.a.b.c = false;</code></pre>
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {ProxyObserver} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js&apos;;\nimport {Observer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js&apos;;\nimport {isObject} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js&apos;;\n\nconst o = new Observer(function () { \n  if (isObject(this) && this instanceof ProxyObserver) {\n      // do something (this ist ProxyObserver)\n      const subject = this.getSubject();\n      console.log(subject);\n  }\n});\n\nlet realSubject = {\n  a: {\n      b: {\n          c: true\n      },\n      d: 9\n  }\n}\n\nconst p = new ProxyObserver(realSubject);\np.attachObserver(o);\nconst s = p.getSubject();\ns.a.b.c = false;&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {ProxyObserver} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js&apos;;\nimport {Observer} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js&apos;;\nimport {isObject} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js&apos;;\n\nconst o = new Observer(function () { \n  if (isObject(this) && this instanceof ProxyObserver) {\n      // do something (this ist ProxyObserver)\n      const subject = this.getSubject();\n      console.log(subject);\n  }\n});\n\nlet realSubject = {\n  a: {\n      b: {\n          c: true\n      },\n      d: 9\n  }\n}\n\nconst p = new ProxyObserver(realSubject);\np.attachObserver(o);\nconst s = p.getSubject();\ns.a.b.c = false;&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
@@ -1083,7 +1083,7 @@ s.a.b.c = false;</code></pre>
 
     <h4 class="name" id="notifyObservers">
         <a href="#notifyObservers">#</a>
-        <span class="type-signature"></span>notifyObservers<span class="signature">()</span><span class="type-signature"> &rarr; {ProxyObserver}</span>
+        <span class="type-signature"></span>notifyObservers<span class="signature">()</span><span class="type-signature"> &rarr; {Promise}</span>
     </h4>
 
     
@@ -1169,7 +1169,7 @@ s.a.b.c = false;</code></pre>
     </dt>
     <dd>
         
-<span class="param-type">ProxyObserver</span>
+<span class="param-type">Promise</span>
 
 
     </dd>
diff --git a/docs/Monster_Types.Queue.html b/docs/Monster_Types.Queue.html
index 2a0df8a82..5f16efe6e 100644
--- a/docs/Monster_Types.Queue.html
+++ b/docs/Monster_Types.Queue.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
 console.log(new Monster.Types.Queue())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
 console.log(new Queue())
 &lt;/script>
 </code></pre></div>
@@ -260,7 +260,7 @@ console.log(new Queue())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+    <pre class="prettyprint"><code>import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
 
 const queue = new Queue;
 
@@ -282,7 +282,7 @@ console.log(queue.poll());
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Queue} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js&apos;;\n\nconst queue = new Queue;\n\nqueue.add(2);\nqueue.add(true);\nqueue.add(\&quot;Hello\&quot;);\nqueue.add(4.5);\n\nconsole.log(queue.poll());\n// ↦ 2\nconsole.log(queue.poll());\n// ↦ true\nconsole.log(queue.poll());\n// ↦ \&quot;Hello\&quot;\nconsole.log(queue.poll());\n// ↦ 4.5\nconsole.log(queue.poll());\n// ↦ undefined&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Queue} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js&apos;;\n\nconst queue = new Queue;\n\nqueue.add(2);\nqueue.add(true);\nqueue.add(\&quot;Hello\&quot;);\nqueue.add(4.5);\n\nconsole.log(queue.poll());\n// ↦ 2\nconsole.log(queue.poll());\n// ↦ true\nconsole.log(queue.poll());\n// ↦ \&quot;Hello\&quot;\nconsole.log(queue.poll());\n// ↦ 4.5\nconsole.log(queue.poll());\n// ↦ undefined&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Types.RandomID.html b/docs/Monster_Types.RandomID.html
index d656bc723..d8482684f 100644
--- a/docs/Monster_Types.RandomID.html
+++ b/docs/Monster_Types.RandomID.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.RandomID()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
 console.log(new Monster.Types.RandomID())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
 console.log(new RandomID())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Types.Stack.html b/docs/Monster_Types.Stack.html
index 0f76ae5bd..c19c15dc2 100644
--- a/docs/Monster_Types.Stack.html
+++ b/docs/Monster_Types.Stack.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
 console.log(new Monster.Types.Stack())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
 console.log(new Stack())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Types.TokenList.html b/docs/Monster_Types.TokenList.html
index c3cf49dbb..6275a4f15 100644
--- a/docs/Monster_Types.TokenList.html
+++ b/docs/Monster_Types.TokenList.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -150,14 +150,14 @@
 <p>The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.</p>
 <p>You can call the method via the monster namespace <code>new Monster.Types.TokenList()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
 console.log(new Monster.Types.TokenList(&quot;myclass row&quot;))
 console.log(new Monster.Types.TokenList(&quot;myclass row&quot;))
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
 console.log(new TokenList(&quot;myclass row&quot;))
 console.log(new TokenList(&quot;myclass row&quot;))
 &lt;/script>
diff --git a/docs/Monster_Types.UniqueQueue.html b/docs/Monster_Types.UniqueQueue.html
index de360a4c5..ff0e7958a 100644
--- a/docs/Monster_Types.UniqueQueue.html
+++ b/docs/Monster_Types.UniqueQueue.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>You can call the method via the monster namespace <code>new Monster.Types.Queue()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
 console.log(new Monster.Types.UniqueQueue())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
 console.log(new UniqueQueue())
 &lt;/script>
 </code></pre></div>
diff --git a/docs/Monster_Types.Version.html b/docs/Monster_Types.Version.html
index d385c051d..c829e712c 100644
--- a/docs/Monster_Types.Version.html
+++ b/docs/Monster_Types.Version.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -149,14 +149,14 @@
             <div class="class-description"><p>The version object contains a sematic version number</p>
 <p>You can create the object via the monster namespace <code>new Monster.Types.Version()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
 console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
 console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this class individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
 console.log(new Version('1.2.3')) // ↦ 1.2.3
 console.log(new Version('1')) // ↦ 1.0.0
 &lt;/script>
@@ -444,7 +444,7 @@ console.log(new Version('1')) // ↦ 1.0.0
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+    <pre class="prettyprint"><code>import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
 
 new Version('1.0.0') // ↦ 1.0.0
 new Version(1)  // ↦ 1.0.0
@@ -453,7 +453,7 @@ new Version('1.2.3', 4, 5) // ↦ 1.4.5</code></pre>
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Version} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js&apos;;\n\nnew Version(&apos;1.0.0&apos;) // ↦ 1.0.0\nnew Version(1)  // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version(&apos;1.2.3&apos;, 4, 5) // ↦ 1.4.5&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Version} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js&apos;;\n\nnew Version(&apos;1.0.0&apos;) // ↦ 1.0.0\nnew Version(1)  // ↦ 1.0.0\nnew Version(1, 0, 0) // ↦ 1.0.0\nnew Version(&apos;1.2.3&apos;, 4, 5) // ↦ 1.4.5&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Types.html b/docs/Monster_Types.html
index 9e5e051c6..34c22e8d8 100644
--- a/docs/Monster_Types.html
+++ b/docs/Monster_Types.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -394,13 +394,13 @@
         <p>Return global function or throw Error</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.getGlobalFunction()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
 console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
 console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
 &lt;/script>
 </code></pre>
@@ -657,13 +657,13 @@ console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
         <p>Return global object or throw Error</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.getGlobalObject()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
 console.log(Monster.Types.getGlobalObject('document')) // ↦ { }
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
 console.log(getGlobalObject('document')) // ↦ { }
 &lt;/script>
 </code></pre>
@@ -920,14 +920,14 @@ console.log(getGlobalObject('document')) // ↦ { }
         <p>checks whether the value passed is a array</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isArray()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isArray('2')) // ↦ false
 console.log(Monster.Types.isArray([])) // ↦ true
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isArray('2'))  // ↦ false
 console.log(isArray([]))  // ↦ true
 &lt;/script>
@@ -1100,7 +1100,7 @@ console.log(isArray([]))  // ↦ true
         <p>Checks whether the value passed is a boolean</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.isBoolean()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isBoolean('2')) // ↦ false
 console.log(Monster.Types.isBoolean([])) // ↦ false
 console.log(Monster.Types.isBoolean(true)) // ↦ true
@@ -1108,7 +1108,7 @@ console.log(Monster.Types.isBoolean(true)) // ↦ true
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isBoolean('2'))  // ↦ false
 console.log(isBoolean([]))  // ↦ false
 console.log(isBoolean(2>4))  // ↦ true
@@ -1282,7 +1282,7 @@ console.log(isBoolean(2>4))  // ↦ true
         <p>checks whether the value passed is a function</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isFunction()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isFunction(()=>{})) // ↦ true
 console.log(Monster.Types.isFunction('2')) // ↦ false
 console.log(Monster.Types.isFunction([])) // ↦ false
@@ -1290,7 +1290,7 @@ console.log(Monster.Types.isFunction([])) // ↦ false
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isFunction(()=>{})) // ↦ true
 console.log(isFunction('2'))  // ↦ false
 console.log(isFunction([]))  // ↦ false
@@ -1464,7 +1464,7 @@ console.log(isFunction([]))  // ↦ false
         <p>checks whether the value passed is a object and instance of instance</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isInstance()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isInstance('2')) // ↦ false
 console.log(Monster.Types.isInstance([])) // ↦ false
 console.log(Monster.Types.isInstance({})) // ↦ true
@@ -1472,7 +1472,7 @@ console.log(Monster.Types.isInstance({})) // ↦ true
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isInstance('2'))  // ↦ false
 console.log(isInstance([]))  // ↦ false
 &lt;/script>
@@ -1668,7 +1668,7 @@ console.log(isInstance([]))  // ↦ false
         <p>checks whether the value passed is an integer</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isFunction()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isInteger(()=>{})) // ↦ true
 console.log(Monster.Types.isInteger('2')) // ↦ false
 console.log(Monster.Types.isInteger(2)) // ↦ true
@@ -1676,7 +1676,7 @@ console.log(Monster.Types.isInteger(2)) // ↦ true
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isInteger(()=>{})) // ↦ true
 console.log(isInteger('2'))  // ↦ false
 console.log(isInteger(2))  // ↦ true
@@ -1850,7 +1850,7 @@ console.log(isInteger(2))  // ↦ true
         <p>With this function you can check if a value is iterable</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.isPrimitive()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isIterable(null)) // ↦ false
 console.log(Monster.Types.isIterable('hello')) // ↦ true
 console.log(Monster.Types.isIterable([])) // ↦ true
@@ -1858,7 +1858,7 @@ console.log(Monster.Types.isIterable([])) // ↦ true
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isIterable(null))  // ↦ false
 console.log(isIterable('hello'))  // ↦ true
 console.log(isIterable([]))  // ↦ true
@@ -2032,7 +2032,7 @@ console.log(isIterable([]))  // ↦ true
         <p>checks whether the value passed is a object</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isObject()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isObject('2')) // ↦ false
 console.log(Monster.Types.isObject([])) // ↦ false
 console.log(Monster.Types.isObject({})) // ↦ true
@@ -2040,7 +2040,7 @@ console.log(Monster.Types.isObject({})) // ↦ true
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isObject('2'))  // ↦ false
 console.log(isObject([]))  // ↦ false
 &lt;/script>
@@ -2213,14 +2213,14 @@ console.log(isObject([]))  // ↦ false
         <p>Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.isPrimitive()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isPrimitive('2')) // ↦ false
 console.log(Monster.Types.isPrimitive([])) // ↦ true
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isPrimitive('2'))  // ↦ true
 console.log(isPrimitive([]))  // ↦ false
 &lt;/script>
@@ -2393,14 +2393,14 @@ console.log(isPrimitive([]))  // ↦ false
         <p>checks whether the value passed is a string</p>
 <p>you can call the method via the monster namespace <code>Monster.Types.isString()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(Monster.Types.isString('2')) // ↦ true
 console.log(Monster.Types.isString([])) // ↦ false
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
 console.log(isString('2'))  // ↦ true
 console.log(isString([]))  // ↦ false
 &lt;/script>
@@ -2573,13 +2573,13 @@ console.log(isString([]))  // ↦ false
         <p>The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.typeOf()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
 console.log(Monster.Types.typeOf())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
 console.log(typeOf())
 &lt;/script>
 </code></pre>
@@ -2768,7 +2768,7 @@ console.log(typeOf())
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+    <pre class="prettyprint"><code>import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
 
 console.log(typeOf(undefined)); // ↦ undefined
 console.log(typeOf("")); // ↦ string
@@ -2780,7 +2780,7 @@ console.log(typeOf(true)); // ↦ boolean</code></pre>
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {typeOf} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js&apos;;\n\nconsole.log(typeOf(undefined)); // ↦ undefined\nconsole.log(typeOf(\&quot;\&quot;)); // ↦ string\nconsole.log(typeOf(5)); // ↦ number\nconsole.log(typeOf({})); // ↦ object\nconsole.log(typeOf([])); // ↦ array\nconsole.log(typeOf(new Map)); // ↦ map\nconsole.log(typeOf(true)); // ↦ boolean&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {typeOf} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js&apos;;\n\nconsole.log(typeOf(undefined)); // ↦ undefined\nconsole.log(typeOf(\&quot;\&quot;)); // ↦ string\nconsole.log(typeOf(5)); // ↦ number\nconsole.log(typeOf({})); // ↦ object\nconsole.log(typeOf([])); // ↦ array\nconsole.log(typeOf(new Map)); // ↦ map\nconsole.log(typeOf(true)); // ↦ boolean&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
@@ -2796,7 +2796,7 @@ console.log(typeOf(true)); // ↦ boolean</code></pre>
 
     <h4 class="name" id=".validateArray">
         <a href="#.validateArray">#</a>
-        <span class="type-signature">(static) </span>validateArray<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateArray<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -2807,14 +2807,14 @@ console.log(typeOf(true)); // ↦ boolean</code></pre>
         <p>This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateArray()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateArray('2')) // ↦ TypeError
 console.log(Monster.Types.validateArray([])) // ↦ undefined
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateArray('2'))  // ↦ TypeError
 console.log(validateArray([]))  // ↦ undefined
 &lt;/script>
@@ -2989,7 +2989,7 @@ console.log(validateArray([]))  // ↦ undefined
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -3008,7 +3008,7 @@ console.log(validateArray([]))  // ↦ undefined
 
     <h4 class="name" id=".validateBoolean">
         <a href="#.validateBoolean">#</a>
-        <span class="type-signature">(static) </span>validateBoolean<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateBoolean<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -3019,7 +3019,7 @@ console.log(validateArray([]))  // ↦ undefined
         <p>This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateBoolean()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateBoolean(true)) // ↦ undefined
 console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
 console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
@@ -3027,7 +3027,7 @@ console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateBoolean(false))  // ↦ undefined
 console.log(validateBoolean('2'))  // ↦ TypeError
 console.log(validateBoolean([]))  // ↦ TypeError
@@ -3203,7 +3203,7 @@ console.log(validateBoolean([]))  // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -3222,7 +3222,7 @@ console.log(validateBoolean([]))  // ↦ TypeError
 
     <h4 class="name" id=".validateFunction">
         <a href="#.validateFunction">#</a>
-        <span class="type-signature">(static) </span>validateFunction<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateFunction<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -3233,7 +3233,7 @@ console.log(validateBoolean([]))  // ↦ TypeError
         <p>This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateFunction()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined
 console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
 console.log(Monster.Types.validateFunction([])) // ↦ TypeError
@@ -3241,7 +3241,7 @@ console.log(Monster.Types.validateFunction([])) // ↦ TypeError
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateFunction(()=>{})) // ↦ undefined
 console.log(validateFunction('2'))  // ↦ TypeError
 console.log(validateFunction([]))  // ↦ TypeError
@@ -3417,7 +3417,7 @@ console.log(validateFunction([]))  // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -3436,7 +3436,7 @@ console.log(validateFunction([]))  // ↦ TypeError
 
     <h4 class="name" id=".validateInstance">
         <a href="#.validateInstance">#</a>
-        <span class="type-signature">(static) </span>validateInstance<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateInstance<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -3447,7 +3447,7 @@ console.log(validateFunction([]))  // ↦ TypeError
         <p>This method checks if the type matches the object instance.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateInstance()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined
 console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
 console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
@@ -3455,7 +3455,7 @@ console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateInstance({}, Object)) // ↦ undefined
 console.log(validateInstance('2', Object)) // ↦ TypeError
 console.log(validateInstance([], Object)) // ↦ TypeError
@@ -3631,7 +3631,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -3650,7 +3650,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError
 
     <h4 class="name" id=".validateInteger">
         <a href="#.validateInteger">#</a>
-        <span class="type-signature">(static) </span>validateInteger<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateInteger<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -3661,7 +3661,7 @@ console.log(validateInstance([], Object)) // ↦ TypeError
         <p>This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateInteger()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
 console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
 console.log(Monster.Types.validateInteger(2)) // ↦ undefined
@@ -3669,7 +3669,7 @@ console.log(Monster.Types.validateInteger(2)) // ↦ undefined
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateInteger(true)) // ↦ TypeError
 console.log(validateInteger('2'))  // ↦ TypeError
 console.log(validateInteger(2))  // ↦ undefined
@@ -3845,7 +3845,7 @@ console.log(validateInteger(2))  // ↦ undefined
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -3864,7 +3864,7 @@ console.log(validateInteger(2))  // ↦ undefined
 
     <h4 class="name" id=".validateIterable">
         <a href="#.validateIterable">#</a>
-        <span class="type-signature">(static) </span>validateIterable<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateIterable<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -3875,14 +3875,14 @@ console.log(validateInteger(2))  // ↦ undefined
         <p>This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validatePrimitive()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
 console.log(Monster.Types.validateIterable([])) // ↦ undefined
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateIterable('2'))  // ↦ TypeError
 console.log(validateIterable([]))  // ↦ undefined
 &lt;/script>
@@ -4070,7 +4070,7 @@ console.log(validateIterable([]))  // ↦ undefined
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -4089,7 +4089,7 @@ console.log(validateIterable([]))  // ↦ undefined
 
     <h4 class="name" id=".validateObject">
         <a href="#.validateObject">#</a>
-        <span class="type-signature">(static) </span>validateObject<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateObject<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -4100,7 +4100,7 @@ console.log(validateIterable([]))  // ↦ undefined
         <p>This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateObject()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateObject({})) // ↦ undefined
 console.log(Monster.Types.validateObject('2')) // ↦ TypeError
 console.log(Monster.Types.validateObject([])) // ↦ TypeError
@@ -4108,7 +4108,7 @@ console.log(Monster.Types.validateObject([])) // ↦ TypeError
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateObject({}))  // ↦ undefined
 console.log(validateObject('2'))  // ↦ TypeError
 console.log(validateObject([]))  // ↦ TypeError
@@ -4284,7 +4284,7 @@ console.log(validateObject([]))  // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -4303,7 +4303,7 @@ console.log(validateObject([]))  // ↦ TypeError
 
     <h4 class="name" id=".validatePrimitive">
         <a href="#.validatePrimitive">#</a>
-        <span class="type-signature">(static) </span>validatePrimitive<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validatePrimitive<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -4314,14 +4314,14 @@ console.log(validateObject([]))  // ↦ TypeError
         <p>This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validatePrimitive()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined
 console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validatePrimitive('2'))  // ↦ undefined
 console.log(validatePrimitive([]))  // ↦ TypeError
 &lt;/script>
@@ -4509,7 +4509,7 @@ console.log(validatePrimitive([]))  // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
@@ -4528,7 +4528,7 @@ console.log(validatePrimitive([]))  // ↦ TypeError
 
     <h4 class="name" id=".validateString">
         <a href="#.validateString">#</a>
-        <span class="type-signature">(static) </span>validateString<span class="signature">(value)</span><span class="type-signature"> &rarr; {undefined}</span>
+        <span class="type-signature">(static) </span>validateString<span class="signature">(value)</span><span class="type-signature"> &rarr; {*}</span>
     </h4>
 
     
@@ -4539,14 +4539,14 @@ console.log(validatePrimitive([]))  // ↦ TypeError
         <p>This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.</p>
 <p>You can call the method via the monster namespace <code>Monster.Types.validateString()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(Monster.Types.validateString('2')) // ↦ undefined
 console.log(Monster.Types.validateString([])) // ↦ TypeError
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
 console.log(validateString('2'))  // ↦ undefined
 console.log(validateString([]))  // ↦ TypeError
 &lt;/script>
@@ -4721,7 +4721,7 @@ console.log(validateString([]))  // ↦ TypeError
     </dt>
     <dd>
         
-<span class="param-type">undefined</span>
+<span class="param-type">*</span>
 
 
     </dd>
diff --git a/docs/Monster_Util.Comparator.html b/docs/Monster_Util.Comparator.html
index 9ab006082..dfa14e71f 100644
--- a/docs/Monster_Util.Comparator.html
+++ b/docs/Monster_Util.Comparator.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -148,13 +148,13 @@
         
             <div class="class-description"><p>The comparator allows a comparison function to be abstracted.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
 console.log(new Monster.Util.Comparator())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
 console.log(new Comparator())
 &lt;/script>
 </code></pre>
@@ -322,7 +322,7 @@ new Comparator().equal(4, 5) // ↦ false
         <strong>Example</strong>
         
     <div class="rel">
-    <pre class="prettyprint"><code>import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+    <pre class="prettyprint"><code>import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
 
 console.log(new Comparator().lessThanOrEqual(2, 5))
 // ↦ true
@@ -335,7 +335,7 @@ console.log(new Comparator().equal(4, 5))
     
     
         <form action="https://codepen.io/pen/define" method="POST" target="_blank" class="codepen-form">
-            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Comparator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js&apos;;\n\nconsole.log(new Comparator().lessThanOrEqual(2, 5))\n// ↦ true\nconsole.log(new Comparator().greaterThan(4, 2))\n// ↦ true\nconsole.log(new Comparator().equal(4, 4))\n// ↦ true\nconsole.log(new Comparator().equal(4, 5))\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
+            <input type="hidden" name="data" value='{"title": "Example", "js": &quot;import {Comparator} from &apos;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js&apos;;\n\nconsole.log(new Comparator().lessThanOrEqual(2, 5))\n// ↦ true\nconsole.log(new Comparator().greaterThan(4, 2))\n// ↦ true\nconsole.log(new Comparator().equal(4, 4))\n// ↦ true\nconsole.log(new Comparator().equal(4, 5))\n// ↦ false&quot;, "title": "awaken the monster in you; javascript library by schukai GmbH","description": "the example ...","editors": "0012" }' />
             <input type="image" src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-1/cp-arrow-right.svg" value="Create New Pen with Prefilled Data" width="40" height="40" />
         </form>
     
diff --git a/docs/Monster_Util.html b/docs/Monster_Util.html
index e2eb54e8b..3d3deeccf 100644
--- a/docs/Monster_Util.html
+++ b/docs/Monster_Util.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -253,13 +253,13 @@ Global objects such as windows are also not cloned,</p>
 <p>If an object has a method <code>getClone()</code>, this method is used to create the clone.</p>
 <p>You can call the method via the monster namespace <code>Monster.Util.clone()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
 console.log(Monster.Util.clone({}))
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
 console.log(clone({}))
 &lt;/script>
 </code></pre>
@@ -463,13 +463,13 @@ console.log(clone({}))
         <p>Deep freeze a object</p>
 <p>You can call the method via the monster namespace <code>Monster.Util.deepFreeze()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
 console.log(Monster.Util.deepFreeze({})) 
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
 console.log(deepFreeze({}))  
 &lt;/script>
 </code></pre>
diff --git a/docs/constraints_abstract.js.html b/docs/constraints_abstract.js.html
deleted file mode 100644
index 1602e1fac..000000000
--- a/docs/constraints_abstract.js.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/abstract.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/abstract.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from '../types/base.js';
-
-
-/**
- * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.
- *
- * derived classes must implement the method isValid().
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class AbstractConstraint extends Base {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-    }
-
-    /**
-     * this method must return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        return Promise.reject(value);
-    }
-}
-
-Monster.assignToNamespace('Monster.Constraints', AbstractConstraint);
-export {Monster, AbstractConstraint}</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_abstractoperator.js.html b/docs/constraints_abstractoperator.js.html
deleted file mode 100644
index 5f6be4c3b..000000000
--- a/docs/constraints_abstractoperator.js.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/abstractoperator.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/abstractoperator.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-
-/**
- * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.
- * 
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class AbstractOperator extends AbstractConstraint {
-
-    /**
-     *
-     * @param {AbstractConstraint} operantA
-     * @param {AbstractConstraint} operantB
-     * @throws {TypeError} "parameters must be from type AbstractConstraint"
-     */
-    constructor(operantA, operantB) {
-        super();
-
-        if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) {
-            throw new TypeError("parameters must be from type AbstractConstraint")
-        }
-
-        this.operantA = operantA;
-        this.operantB = operantB;
-
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', AbstractOperator);
-export {Monster, AbstractOperator}</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_andoperator.js.html b/docs/constraints_andoperator.js.html
deleted file mode 100644
index 20d05fb7f..000000000
--- a/docs/constraints_andoperator.js.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/andoperator.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/andoperator.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-import {AbstractOperator} from "./abstractoperator.js";
-
-/**
- * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
- * new Monster.Constraint.AndOperator();
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
- * new AndOperator();
- * &lt;/script>
- * ```
- * 
- * @example
- *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
- *
- * new AndOperator(
- * new Valid(), new Valid()).isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ true
- *
- * new AndOperator(
- * new Invalid(), new Valid()).isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ false
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class AndOperator extends AbstractOperator {
-
-    /**
-     * this method return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', AndOperator);
-export {Monster, AndOperator}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_invalid.js.html b/docs/constraints_invalid.js.html
deleted file mode 100644
index e213571d1..000000000
--- a/docs/constraints_invalid.js.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/invalid.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/invalid.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-
-/**
- * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.
- *
- * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * new Monster.Constraint.Invalid();
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * new Invalid();
- * &lt;/script>
- * ```
- *
- * @example
- *
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- *
- * new Invalid().isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ false
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class Invalid extends AbstractConstraint {
-
-    /**
-     * this method return a rejected promise
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        return Promise.reject(value);
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', Invalid);
-export {Monster, Invalid}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_isarray.js.html b/docs/constraints_isarray.js.html
deleted file mode 100644
index d9d1b25c1..000000000
--- a/docs/constraints_isarray.js.html
+++ /dev/null
@@ -1,250 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/isarray.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/isarray.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-import {isArray} from "../types/is.js";
-
-/**
- * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
- * console.log(new Monster.Constraint.IsArray())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
- * console.log(new IsArray())
- * &lt;/script>
- * ```
- * 
- * @example
- *
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
- *
- * new IsArray()
- * .isValid([])
- * .then(()=>console.log(true));
- * // ↦ true
- *
- * new IsArray()
- * .isValid(99)
- * .catch(e=>console.log(e));
- * // ↦ 99
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class IsArray extends AbstractConstraint {
-
-    /**
-     * this method return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        if (isArray(value)) {
-            return Promise.resolve(value);
-        }
-
-        return Promise.reject(value);
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', IsArray);
-export {Monster, IsArray}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_isobject.js.html b/docs/constraints_isobject.js.html
deleted file mode 100644
index e2e815671..000000000
--- a/docs/constraints_isobject.js.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/isobject.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/isobject.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-import {isObject} from "../types/is.js";
-
-/**
- * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
- * console.log(new Monster.Constraint.IsObject())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
- * console.log(new IsObject())
- * &lt;/script>
- * ```
- * 
- * @example
- *
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
- *
- * new IsObject()
- * .isValid({})
- * .then(()=>console.log(true));
- * // ↦ true
- *
- *
- * new IsObject()
- * .isValid(99)
- * .catch(e=>console.log(e));
- * // ↦ 99
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class IsObject extends AbstractConstraint {
-
-    /**
-     * this method return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        if (isObject(value)) {
-            return Promise.resolve(value);
-        }
-
-        return Promise.reject(value);
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', IsObject);
-export {Monster, IsObject}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_namespace.js.html b/docs/constraints_namespace.js.html
deleted file mode 100644
index a8863a908..000000000
--- a/docs/constraints_namespace.js.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Constraints
- * @author schukai GmbH
- */
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Constraints";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_oroperator.js.html b/docs/constraints_oroperator.js.html
deleted file mode 100644
index c0d6ec964..000000000
--- a/docs/constraints_oroperator.js.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/oroperator.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/oroperator.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractOperator} from "./abstractoperator.js";
-
-/**
- * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
- * new Monster.Constraint.OrOperator();
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
- * new OrOperator();
- * &lt;/script>
- * ```
- *
- * @example
- *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';
- *
- * new OrOperator(
- * new Valid(), new Invalid()).isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ true
- *
- * new OrOperator(
- * new Invalid(), new Invalid()).isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ false
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class OrOperator extends AbstractOperator {
-
-    /**
-     * this method return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        var self = this;
-
-        return new Promise(function (resolve, reject) {
-            let a, b;
-
-            self.operantA.isValid(value)
-                .then(function () {
-                    resolve();
-                }).catch(function () {
-                a = false;
-                /** b has already been evaluated and was not true */
-                if (b === false) {
-                    reject();
-                }
-            });
-
-            self.operantB.isValid(value)
-                .then(function () {
-                    resolve();
-                }).catch(function () {
-                b = false;
-                /** b has already been evaluated and was not true */
-                if (a === false) {
-                    reject();
-                }
-            });
-        });
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', OrOperator);
-export {Monster, OrOperator}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/constraints_valid.js.html b/docs/constraints_valid.js.html
deleted file mode 100644
index d369a6866..000000000
--- a/docs/constraints_valid.js.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      constraints/valid.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        constraints/valid.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, AbstractConstraint} from "./abstract.js";
-
-/**
- * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.
- *
- * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * new Monster.Constraint.Valid();
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * new Valid();
- * &lt;/script>
- * ```
- * 
- * @example
- *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- *
- * new Valid().isValid()
- * .then(()=>console.log(true))
- * .catch(()=>console.log(false));
- * // ↦ true
- *
- * @since 1.3.0
- * @copyright schukai GmbH
- * @memberOf Monster/Constraints
- */
-class Valid extends AbstractConstraint {
-
-    /**
-     * this method return a promise containing the result of the check.
-     *
-     * @param {*} value
-     * @returns {Promise}
-     */
-    isValid(value) {
-        return Promise.resolve(value);
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Constraints', Valid);
-export {Monster, Valid}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/data_diff.js.html b/docs/data_diff.js.html
deleted file mode 100644
index 83ff5adcd..000000000
--- a/docs/data_diff.js.html
+++ /dev/null
@@ -1,432 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      data/diff.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        data/diff.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-
-import {Monster, isArray, isObject} from "../types/is.js";
-
-/**
- * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.
- *
- * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.
- *
- * You can call the method via the monster namespace `Monster.Data.Diff()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
- * console.log(Monster.Data.Diff(a, b))
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
- * console.log(Diff(a, b))
- * &lt;/script>
- * ```
- *
- * @example
- * 
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
- * 
- * // given are two objects x and y.
- *
- * let x = {
- *     a: 1,
- *     b: "Hello!"
- * }
- *
- *  let y = {
- *     a: 2,
- *     c: true
- * }
- *
- * // These two objects can be compared with each other.
- *
- * console.log(Diff(x, y));
- *
- * // the result is then the following
- *
- * //
- * // [
- * // {
- * //        operator: 'update',
- * //        path: [ 'a' ],
- * //        first: { value: 1, type: 'number' },
- * //        second: { value: 2, type: 'number' }
- * //    },
- * // {
- * //        operator: 'delete',
- * //        path: [ 'b' ],
- * //        first: { value: 'Hello!', type: 'string' }
- * //    },
- * // {
- * //        operator: 'add',
- * //        path: [ 'c' ],
- * //        second: { value: true, type: 'boolean' }
- * //    }
- * // ]
- *
- * @param {*} first
- * @param {*} second
- * @return {array}
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/Data
- */
-function Diff(first, second) {
-    return doDiff(first, second)
-}
-
-/**
- * @private
- * @param a
- * @param b
- * @param type
- * @return {Set&lt;string>|Set&lt;number>}
- */
-function getKeys(a, b, type) {
-    if (isArray(type)) {
-        const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);
-        keys.fill(0);
-        return new Set(keys.map((_, i) => i));
-    }
-
-    return new Set(Object.keys(a).concat(Object.keys(b)));
-}
-
-/**
- * @private
- * @param a
- * @param b
- * @param path
- * @param diff
- * @return {array}
- */
-function doDiff(a, b, path, diff) {
-
-    let typeA = typeof a
-    let typeB = typeof b
-
-    const currPath = path || [];
-    const currDiff = diff || [];
-
-    if (typeA === typeB &amp;&amp; typeA === 'object') { // array is object too
-
-        getKeys(a, b, typeA).forEach((v) => {
-
-            if (!(Object.prototype.hasOwnProperty.call(a, v))) {
-                currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));
-            } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {
-                currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));
-            } else {
-                doDiff(a[v], b[v], currPath.concat(v), currDiff);
-            }
-        });
-
-    } else {
-
-        const o = getOperator(a, b, typeA, typeB);
-        if (o !== undefined) {
-            currDiff.push(buildResult(a, b, o, path));
-        }
-
-    }
-
-    return currDiff;
-
-}
-
-/**
- *
- * @param {*} a
- * @param {*} b
- * @param {string} operator
- * @param {array} path
- * @return {{path: array, operator: string}}
- * @private
- */
-function buildResult(a, b, operator, path) {
-
-    const result = {
-        operator,
-        path,
-    };
-
-    if (operator !== 'add') {
-        result.first = {
-            value: a,
-            type: typeof a
-        };
-
-        if (isObject(a)) {
-            const name = Object.getPrototypeOf(a)?.constructor?.name;
-            if (name !== undefined) {
-                result.first.instance = name;
-            }
-        }
-    }
-
-    if (operator === 'add' || operator === 'update') {
-        result.second = {
-            value: b,
-            type: typeof b
-        };
-
-        if (isObject(b)) {
-            const name = Object.getPrototypeOf(b)?.constructor?.name;
-            if (name !== undefined) {
-                result.second.instance = name;
-            }
-        }
-
-    }
-
-    return result;
-}
-
-/**
- * @private
- * @param {*} a
- * @param {*} b
- * @return {boolean}
- */
-function isNotEqual(a, b) {
-
-    if (typeof a !== typeof b) {
-        return true;
-    }
-
-    if (a instanceof Date &amp;&amp; b instanceof Date) {
-        return a.getTime() !== b.getTime();
-    }
-
-    return a !== b;
-}
-
-/**
- * @private
- * @param {*} a
- * @param {*} b
- * @return {string|undefined}
- */
-function getOperator(a, b) {
-
-    /**
-     * @type {string|undefined}
-     */
-    let operator;
-
-    /**
-     * @type {string}
-     */
-    let typeA = typeof a;
-
-    /**
-     * @type {string}
-     */
-    let typeB = typeof b;
-
-    if (typeA === 'undefined' &amp;&amp; typeB !== 'undefined') {
-        operator = 'add';
-    } else if (typeA !== 'undefined' &amp;&amp; typeB === 'undefined') {
-        operator = 'delete';
-    } else if (isNotEqual(a, b)) {
-        operator = 'update';
-    }
-
-    return operator;
-
-}
-
-Monster.assignToNamespace('Monster.Data', Diff);
-export {Monster, Diff}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/data_namespace.js.html b/docs/data_namespace.js.html
deleted file mode 100644
index 09d87255f..000000000
--- a/docs/data_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      data/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        data/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Data
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Data";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/data_pathfinder.js.html b/docs/data_pathfinder.js.html
deleted file mode 100644
index 2f5b6cb98..000000000
--- a/docs/data_pathfinder.js.html
+++ /dev/null
@@ -1,553 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      data/pathfinder.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        data/pathfinder.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {isObject, isArray, isInteger} from '../types/is.js';
-import {validateString, validateInteger} from '../types/validate.js';
-import {Base} from '../types/base.js';
-import {Stack} from "../types/stack.js";
-
-/**
- * path separator
- *
- * @private
- * @type {string}
- */
-const DELIMITER = '.';
-
-/**
- * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
- * console.log(new Monster.Data.Pathfinder())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
- * console.log(new Pathfinder())
- * &lt;/script>
- * ```
- *
- * With the help of the pathfinder, values can be read and written from an object construct.
- *
- * ```
- * new Pathfinder({
- * a: {
- *     b: {
- *         f: [
- *             {
- *                 g: false,
- *             }
- *         ],
- *     }
- * }
- * }).getVia("a.b.f.0.g"); // ↦ false
- * ```
- *
- * if a value is not present or has the wrong type, a corresponding exception is thrown.
- *
- * ```
- * new Pathfinder({}).getVia("a.b.f.0.g"); // ↦ Error
- * ```
- *
- * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.
- *
- * ```
- * new Pathfinder({}).exists("a.b.f.0.g"); // ↦ false
- * ```
- *
- * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.
- *
- * ```
- * obj = {};
- * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}
- * ```
- * 
- * @example
- *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/data/pathfinder.js';
- * 
- * let value = new Pathfinder({
- * a: {
- *     b: {
- *         f: [
- *             {
- *                 g: false,
- *             }
- *         ],
- *     }
- * }
- * }).getVia("a.b.f.0.g");
- * 
- *  console.log(value);
- *  // ↦ false
- * 
- * try {
- *   new Pathfinder({}).getVia("a.b.f.0.g");  
- * } catch(e) {
- *   console.log(e.toString());
- *   // ↦ Error: the journey is not at its end (b.f.0.g)
- * }
- * 
- * 
- *
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Data
- */
-class Pathfinder extends Base {
-
-    /**
-     * @param {array|object|Map|Set} value
-     * @since 1.4.0
-     **/
-    constructor(object) {
-        super();
-        this.object = object;
-    }
-
-    /**
-     *
-     * @param {string} path
-     * @since 1.4.0
-     * @returns {*}
-     * @throws {TypeError} unsupported type
-     * @throws {Error} the journey is not at its end
-     * @throws {TypeError} value is not a string
-     * @throws {TypeError} value is not an integer
-     * @throws {Error} unsupported action for this data type
-     */
-    getVia(path) {
-        validateString(path);
-        return getValueViaPath(this.object, path);
-    }
-
-    /**
-     *
-     * @param {string} path
-     * @param {*} value
-     * @returns {Pathfinder}
-     * @since 1.4.0
-     * @throws {TypeError} unsupported type
-     * @throws {TypeError} value is not a string
-     * @throws {TypeError} value is not an integer
-     * @throws {Error} unsupported action for this data type
-     */
-    setVia(path, value) {
-        validateString(path);
-        setValueViaPath(this.object, path, value);
-        return this;
-    }
-
-    /**
-     * Delete Via Path
-     *
-     * @param {string} path
-     * @returns {Pathfinder}
-     * @since 1.6.0
-     * @throws {TypeError} unsupported type
-     * @throws {TypeError} value is not a string
-     * @throws {TypeError} value is not an integer
-     * @throws {Error} unsupported action for this data type
-     */
-    deleteVia(path) {
-        validateString(path);
-        deleteValueViaPath(this.object, path);
-        return this;
-    }
-
-    /**
-     *
-     * @param {string} path
-     * @return {bool}
-     * @throws {TypeError} unsupported type
-     * @throws {TypeError} value is not a string
-     * @throws {TypeError} value is not an integer
-     * @since 1.4.0
-     */
-    exists(path) {
-        validateString(path);
-        try {
-            getValueViaPath(this.object, path, true);
-            return true;
-        } catch (e) {
-
-        }
-
-        return false;
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Data', Pathfinder);
-export {Monster, Pathfinder}
-
-/**
- *
- * @param {*} object
- * @param [string} path
- * @param [boolean} check 
- * @returns {*}
- * @throws {TypeError} unsupported type
- * @throws {Error} the journey is not at its end
- * @throws {Error} unsupported action for this data type
- * @private
- */
-function getValueViaPath(object, path, check) {
-
-    if (path === "") {
-        return object;
-    }
-
-    let parts = path.split(DELIMITER)
-    let current = parts.shift();
-
-    if (isObject(object) || isArray(object)) {
-
-        let anchor;
-        if (object instanceof Map || object instanceof WeakMap) {
-            anchor = object.get(current);
-
-        } else if (object instanceof Set || object instanceof WeakSet) {
-            current = parseInt(current);
-            validateInteger(current)
-            anchor = [...object]?.[current];
-
-        } else if (object instanceof WeakRef) {
-            throw Error('unsupported action for this data type');
-
-        } else if (isArray(object)) {
-            current = parseInt(current);
-            validateInteger(current)
-            anchor = object?.[current];
-        } else {
-            anchor = object?.[current];
-        }
-
-        if (isObject(anchor) || isArray(anchor)) {
-            return getValueViaPath(anchor, parts.join(DELIMITER), check)
-        }
-
-        if (parts.length > 0) {
-            throw Error("the journey is not at its end (" + parts.join(DELIMITER) + ")");
-        }
-
-        if (check === true &amp;&amp; !object.hasOwnProperty(current)) {
-            throw Error('unknown value');
-        }
-
-        return anchor;
-
-    }
-
-    throw TypeError("unsupported type")
-
-}
-
-/**
- *
- * @param object
- * @param path
- * @param value
- * @returns {void}
- * @throws {TypeError} unsupported type
- * @throws {TypeError} unsupported type
- * @throws {Error} the journey is not at its end
- * @throws {Error} unsupported action for this data type
- * @private
- */
-function setValueViaPath(object, path, value) {
-
-    let parts = path.split(DELIMITER)
-    let last = parts.pop();
-    let subpath = parts.join(DELIMITER);
-
-    let stack = new Stack()
-    let current = subpath;
-    while (true) {
-
-        try {
-            getValueViaPath(object, current, true)
-            break;
-        } catch (e) {
-
-        }
-
-        stack.push(current);
-        parts.pop();
-        current = parts.join(DELIMITER);
-
-        if (current === "") break;
-    }
-
-    while (!stack.isEmpty()) {
-        current = stack.pop();
-        let obj = {};
-
-        if (!stack.isEmpty()) {
-            let n = stack.peek().split(DELIMITER).pop();
-            if (isInteger(parseInt(n))) {
-                obj = [];
-            }
-
-        }
-
-
-        setValueViaPath(object, current, obj);
-    }
-
-    let anchor = getValueViaPath(object, subpath);
-
-    if (!isObject(object) &amp;&amp; !isArray(object)) {
-        throw TypeError("unsupported type: " + typeof object);
-    }
-
-    if (anchor instanceof Map || anchor instanceof WeakMap) {
-        anchor.set(last, value);
-    } else if (anchor instanceof Set || anchor instanceof WeakSet) {
-        anchor.append(value)
-
-    } else if (anchor instanceof WeakRef) {
-        throw Error('unsupported action for this data type');
-
-    } else if (isArray(anchor)) {
-        last = parseInt(last);
-        validateInteger(last)
-        anchor[last] = value;
-    } else {
-        anchor[last] = value;
-    }
-
-    return;
-
-}
-
-/**
- *
- * @param object
- * @param path
- * @returns {void}
- * @throws {TypeError} unsupported type
- * @throws {TypeError} unsupported type
- * @throws {Error} the journey is not at its end
- * @throws {Error} unsupported action for this data type
- * @since 1.6.0
- * @private
- */
-function deleteValueViaPath(object, path) {
-
-    const parts = path.split(DELIMITER)
-    let last = parts.pop();
-    const subpath = parts.join(DELIMITER);
-
-    const anchor = getValueViaPath.call(this, object, subpath);
-
-    if (anchor instanceof Map) {
-        anchor.delete(last);
-    } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {
-        throw Error('unsupported action for this data type');
-
-    } else if (isArray(anchor)) {
-        last = parseInt(last);
-        validateInteger(last)
-        delete anchor[last];
-    } else {
-        delete anchor[last];
-    }
-
-    return;
-
-}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/data_pipe.js.html b/docs/data_pipe.js.html
deleted file mode 100644
index a991b9d21..000000000
--- a/docs/data_pipe.js.html
+++ /dev/null
@@ -1,275 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      data/pipe.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        data/pipe.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Transformer} from './transformer.js';
-import {Base} from '../types/base.js';
-import {validateString} from '../types/validate.js';
-
-
-const DELIMITER = '|';
-
-/**
- * The pipe class makes it possible to combine several processing steps.
- *
- * You can call the method via the monster namespace `new Monster.Data.Pipe()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
- * console.log(new Monster.Data.Pipe())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
- * console.log(new Pipe())
- * &lt;/script>
- * ```
- *
- * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.
- *
- * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).
- * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
- *
- * @example
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
- * 
- * let obj = {
- *    a: {
- *        b: {
- *            c: {
- *                d: "world"
- *            }
- *        }
- *    }
- * }
- * 
- * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
- * // ↦ Hello WORLD
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Data
- */
-class Pipe extends Base {
-
-    /**
-     *
-     * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.
-     * @throws {TypeError} 
-     */
-    constructor(pipe) {
-        super();
-        validateString(pipe);
-        this.pipe = pipe.split(DELIMITER).map((v) => {
-            return new Transformer(v);
-        });
-
-    }
-
-    /**
-     * run a pipe
-     *
-     * @param {*} value
-     * @returns {*}
-     */
-    run(value) {
-        return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => {
-            return currentValue.run(accumulator);
-        }, value);
-    }
-}
-
-Monster.assignToNamespace('Monster.Data', Pipe);
-export {Monster, Pipe}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/data_transformer.js.html b/docs/data_transformer.js.html
deleted file mode 100644
index 648a24b8b..000000000
--- a/docs/data_transformer.js.html
+++ /dev/null
@@ -1,616 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      data/transformer.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        data/transformer.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from '../types/base.js';
-import {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';
-import {isObject, isString, isArray} from '../types/is.js';
-import {ID} from '../types/id.js';
-import {clone} from "../util/clone.js";
-import {Pathfinder} from "./pathfinder.js";
-
-/**
- * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
- *
- * You can call the method via the monster namespace `new Monster.Data.Transformer()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
- * console.log(new Monster.Data.Transformer())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
- * console.log(new Transformer())
- * &lt;/script>
- * ```
- *
- * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.
- * 
- * ```
- * let t = new Transformer('tolower').run('ABC'); // ↦ abc
- * ```
- * 
- * **all commands**
- * 
- * in the following table all commands, parameters and existing aliases are described.
- * 
- *  | command      | parameter                  | alias                   | description                                                                                                                                                                                                                                                                                                                                                |
- *  |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
- *  | base64       |                            |                         | Converts the value to base64                                                                                                                                                                                                                                                                                                                               |
- *  | call         | function,param1:param2:... |                         | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object                                                                                                                                                                                                            |
- *  | empty        |                            |                         | Return empty String ""                                                                                                                                                                                                                                                                                                                                     |
- *  | if           | statement1:statement2      | ?                       | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string "value", you have to put one backslash \\ in front of it and write value. the follow values are true: 'on', true, 'true' |
- *  | index        | key:default                | property, key           | Fetches a value from an object, an array, a map or a set                                                                                                                                                                                                                                                                                                   |
- *  | length       |                            | count                   | Length of the string or entries of an array or object                                                                                                                                                                                                                                                                                                      |
- *  | nop          |                            |                         | Do nothing                                                                                                                                                                                                                                                                                                                                                 |
- *  | path         | path                       |                         | The access to an object is done via a Pathfinder object                                                                                                                                                                                                                                                                                                    |
- *  | plaintext    |                            | plain                   | All HTML tags are removed (*)                                                                                                                                                                                                                                                                                                                              |
- *  | prefix       | text                       |                         | Adds a prefix                                                                                                                                                                                                                                                                                                                                              |
- *  | rawurlencode |                            |                         | URL coding                                                                                                                                                                                                                                                                                                                                                 |
- *  | static       |                            | none                    | The Arguments value is used and passed to the value. Special characters \ &lt;space> and : can be quotet by a preceding \.                                                                                                                                                                                                                                    |
- *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |
- *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |
- *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |
- *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |
- *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |
- *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |
- *  | trim         |                            |                         | Remove spaces at the beginning and end                                                                                                                                                                                                                                                                                                                     |
- *  | ucfirst      |                            |                         | First character large                                                                                                                                                                                                                                                                                                                                      |
- *  | ucwords      |                            |                         | Any word beginning large                                                                                                                                                                                                                                                                                                                                   |
- *  | undefined    |                            |                         | Return undefined                                                                                                                                                                                                                                                                                                                                           |
- *  | uniqid       |                            |                         | Creates a string with a unique value (**)                                                                                                                                                                                                                                                                                                                  |
- * 
- *  (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.
- * 
- * ```
- *  // polyfill
- *  if (typeof window !== "object") {
- *     const {window} = new JSDOM('', {
- *         url: 'http://example.com/',
- *         pretendToBeVisual: true
- *     });
- * 
- *     [
- *         'self',
- *         'document',
- *         'Node',
- *         'Element',
- *         'HTMLElement',
- *         'DocumentFragment',
- *         'DOMParser',
- *         'XMLSerializer',
- *         'NodeFilter',
- *         'InputEvent',
- *         'CustomEvent'
- *     ].forEach(key => (global[key] = window[key]));
- * }
- * ```
- * 
- * (**) for this command the crypt library is necessary in the nodejs context.
- * 
- * ```
- * import * as Crypto from "@peculiar/webcrypto";
- * global['crypto'] = new Crypto.Crypto();
- * ```
- * 
- * @example
- * 
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
- * 
- * const transformer = new Transformer("tolower")
- * 
- * console.log(transformer.run("HELLO"))
- * // ↦ hello
- * 
- * console.log(transformer.run("WORLD"))
- * // ↦ world
- * 
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Data
- */
-class Transformer extends Base {
-    /**
-     *
-     * @param {string} definition
-     */
-    constructor(definition) {
-        super();
-        validateString(definition);
-
-        this.args = disassemble(definition);
-        this.command = this.args.shift()
-        this.callbacks = new Map();
-
-    }
-
-    /**
-     *
-     * @param {string} name
-     * @param {function} callback
-     * @returns {Transformer}
-     * @throws {TypeError} value is not a string
-     * @throws {TypeError} value is not a function
-     */
-    setCallback(name, callback) {
-        validateString(name)
-        validateFunction(callback)
-        this.callbacks.set(name, callback);
-        return this;
-    }
-
-    /**
-     *
-     * @param {*} value
-     * @returns {*}
-     * @throws {Error} unknown command
-     * @throws {TypeError} unsupported type
-     * @throws {Error} type not supported
-     */
-    run(value) {
-        return transform.apply(this, [value])
-    }
-}
-
-Monster.assignToNamespace('Monster.Data', Transformer);
-export {Monster, Transformer}
-
-/**
- *
- * @param {string} command
- * @returns {array}
- * @private
- */
-function disassemble(command) {
-
-    validateString(command);
-    
-    let placeholder = new Map;
-    const regex = /((?&lt;pattern>\\(?&lt;char>.)){1})/mig;
-
-    // The separator for args must be quotable
-    // undefined string which should not occur normally and is also not a regex
-    let result = command.matchAll(regex)
-    
-    for (let m of result) {
-        let g=m?.['groups'];
-        if(!isObject(g)) {
-            continue;
-        }
-        
-        let p=g?.['pattern'];
-        let c=g?.['char'];
-        
-        if(p&amp;&amp;c) {
-            let r='__'+new ID().toString()+'__';
-            placeholder.set(r, c);
-            command=command.replace(p,r);
-        }
-        
-    }
-    let parts = command.split(':');
-
-    parts = parts.map(function (value) {
-        let v =  value.trim();
-        for(let k of placeholder) {
-           v= v.replace(k[0], k[1]);
-        }
-        return v;
-        
-        
-    });
-
-    return parts
-}
-
-/**
- * tries to make a string out of value and if this succeeds to return it back
- * 
- * @param {*} value
- * @returns {string}
- * @private
- */
-function convertToString(value) {
-
-    if (isObject(value) &amp;&amp; value.hasOwnProperty('toString')) {
-        value = value.toString();
-    }
-
-    validateString(value)
-    return value;
-}
-
-/**
- *
- * @param {*} value
- * @returns {*}
- * @private
- * @throws {Error} unknown command
- * @throws {TypeError} unsupported type
- * @throws {Error} type not supported
- */
-function transform(value) {
-
-    let args = clone(this.args);
-    let key
-
-    switch (this.command) {
-
-        case 'static':
-            return this.args.join(':');
-
-        case 'tolower':
-        case 'strtolower':
-        case 'tolowercase':
-            validateString(value)
-            return value.toLowerCase();
-
-        case 'toupper':
-        case 'strtoupper':
-        case 'touppercase':
-            validateString(value)
-            return value.toUpperCase();
-
-        case 'tostring':
-            return "" + value;
-
-        case 'tointeger':
-            let n = parseInt(value);
-            validateInteger(n);
-            return n
-
-        case 'trim':
-            validateString(value)
-            return value.trim();
-
-        case 'rawurlencode':
-            validateString(value)
-            return encodeURIComponent(value)
-                .replace(/!/g, '%21')
-                .replace(/'/g, '%27')
-                .replace(/\(/g, '%28')
-                .replace(/\)/g, '%29')
-                .replace(/\*/g, '%2A');
-
-
-        case  'call':
-
-            /**
-             * callback-definition
-             * function callback(value, ...args) {
-             *   return value;
-             * }
-             */
-
-            let callback;
-            let callbackName = args.shift();
-
-            if (isObject(value) &amp;&amp; calue.hasOwnProperty(callbackName)) {
-                callback = value[callbackName];
-            } else if (this.callbacks.has(callbackName)) {
-                callback = this.callbacks.get(callbackName);
-            } else if (typeof window === 'object' &amp;&amp; window.hasOwnProperty(callbackName)) {
-                callback = window[callbackName];
-            }
-            validateFunction(callback);
-
-            args.unshift(value);
-            return callback(...args);
-
-        case  'plain':
-        case  'plaintext':
-            validateString(value);
-            let doc = new DOMParser().parseFromString(value, 'text/html');
-            return doc.body.textContent || "";
-
-        case  'if':
-        case  '?':
-
-            validatePrimitive(value);
-
-            let trueStatement = (args.shift() || undefined);
-            let falseStatement = (args.shift() || undefined);
-
-            if (trueStatement === 'value') {
-                trueStatement = value;
-            }
-            if (trueStatement === '\\value') {
-                trueStatement = 'value';
-            }
-            if (falseStatement === 'value') {
-                falseStatement = value;
-            }
-            if (falseStatement === '\\value') {
-                falseStatement = 'value';
-            }
-
-            let condition = ((value !== undefined &amp;&amp; value !== '' &amp;&amp; value !== 'off' &amp;&amp; value !== 'false' &amp;&amp; value !== false) || value === 'on' || value === 'true' || value === true);
-            return condition ? trueStatement : falseStatement;
-
-
-        case 'ucfirst':
-            validateString(value);
-
-            let firstchar = value.charAt(0).toUpperCase();
-            return firstchar + value.substr(1);
-        case 'ucwords':
-            validateString(value);
-
-            return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g, function (v) {
-                return v.toUpperCase();
-            });
-
-        case  'count':
-        case  'length':
-
-            if ((isString(value) || isObject(value) || isArray(value)) &amp;&amp; value.hasOwnProperty('length')) {
-                return value.length;
-            }
-
-            throw new TypeError("unsupported type");
-
-        case 'base64':
-            convertToString(value);
-            return btoa(value);
-
-        case 'empty':
-            return '';
-
-        case 'undefined':
-            return undefined;
-
-        case 'prefix':
-            validateString(value);
-            let prefix = args?.[0];
-            return prefix + value;
-
-        case 'suffix':
-            validateString(value);
-            let suffix = args?.[0];
-            return value + suffix;
-
-        case 'uniqid':
-            return (new ID()).toString();
-
-        case 'key':
-        case 'property':
-        case 'index':
-
-            key = (args.shift() || 'undefined');
-            let defaultValue = (args.shift() || '');
-
-            if (value instanceof Map) {
-                if(!value.has(key)) {
-                    return defaultValue;
-                }
-                return value.get(key);
-            }
-
-            if (isObject(value)||isArray(value)) {
-
-                if (value?.[key]) {
-                    return value?.[key];
-                }
-
-                return defaultValue;
-            }
-
-            throw new Error("type not supported")
-
-        case 'path':
-
-            key = (args.shift() || 'undefined');
-            return new Pathfinder(value).getVia(key);
-            
-            
-        case 'substring':
-
-            validateString(value);
-            
-            let start = parseInt(args[0]) || 0;
-            let end = (parseInt(args[1]) || 0) + start;
-
-            return value.substring(start, end);
-            
-        case 'nop':
-            return value;
-
-        default:
-            throw new Error("unknown command "+this.command)
-    }
-
-    return value;
-}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_assembler.js.html b/docs/dom_assembler.js.html
deleted file mode 100644
index 2eaace76b..000000000
--- a/docs/dom_assembler.js.html
+++ /dev/null
@@ -1,283 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/assembler.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/assembler.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from '../types/base.js';
-import {validateInstance, validateString} from "../types/validate.js";
-import {getGlobalFunction} from "../types/global.js";
-import {ProxyObserver} from "../types/proxyobserver.js";
-
-
-/**
- * attribute prefix
- * 
- * @type {string}
- * @memberOf Monster/DOM
- */
-const ATTRIBUTEPREFIX = "data-monster-";
-
-/**
- * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
- * console.log(new Monster.DOM.Assembler())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
- * console.log(new Assembler())
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- */
-class Assembler extends Base {
-
-    /**
-     * @param {DocumentFragment} fragment
-     * @throws {TypeError} value is not an instance of
-     * @throws {TypeError} value is not a function
-     * @throws {Error} the function is not defined
-     */
-    constructor(fragment) {
-        super();
-        this.attributePrefix = ATTRIBUTEPREFIX;
-        validateInstance(fragment, getGlobalFunction('DocumentFragment'));
-        this.fragment = fragment;
-    }
-
-    /**
-     *
-     * @param {string} prefix
-     * @returns {Assembler}
-     * @throws {TypeError} value is not a string
-     */
-    setAttributePrefix(prefix) {
-        validateString(prefix);
-        this.attributePrefix = prefix;
-        return this;
-    }
-
-    /**
-     *
-     * @returns {string}
-     */
-    getAttributePrefix() {
-        return this.attributePrefix;
-    }
-
-    /**
-     *
-     * @param {ProxyObserver|undefined} data
-     * @return {DocumentFragment}
-     * @throws {TypeError} value is not an instance of
-     */
-    createDocumentFragment(data) {
-
-        if (data === undefined) {
-            data = new ProxyObserver({});
-        }
-
-        validateInstance(data, ProxyObserver);
-        let fragment = this.fragment.cloneNode(true);
-        return fragment;
-    }
-
-}
-
-Monster.assignToNamespace('Monster.DOM', Assembler);
-export {Monster, ATTRIBUTEPREFIX, Assembler}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_customelement.js.html b/docs/dom_customelement.js.html
deleted file mode 100644
index 6b0403067..000000000
--- a/docs/dom_customelement.js.html
+++ /dev/null
@@ -1,334 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/customelement.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/customelement.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {getGlobalObject} from "../types/global.js";
-import {Monster, validateFunction} from "../types/validate.js";
-
-
-/**
- * To define a new HTML element we need the power of CustomElement
- *
- * you can call the method via the monster namespace `new Monster.DOM.Element()`.
- *
- * important: after defining a `CustomElement`, the `registerCustomElement` method must be called
- * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.
- *
- * ```
- * &lt;script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
- * console.log(new Monster.DOM.CustomElement())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
- * console.log(new CustomElement())
- * &lt;/script>
- * ```
- *
- * ## Styling
- *
- * For optimal display of custom-elements the pseudo-class :defined can be used.
- *
- * ```html
- * &lt;style>
- *
- * my-custom-element:not(:defined) {
- *     display: none;
- * }
- *
- * my-custom-element:defined {
- *     display: flex;
- * }
- *
- * &lt;/style>
- * ```
- * 
- *  * @example
- * // returns 2
- * globalNS.method1(5, 10);
- * @example
- * // returns 3
- * globalNS.method(5, 15);
- *
- * @see https://github.com/WICG/webcomponents
- * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements
- * @since 1.7.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- */
-class CustomElement extends HTMLElement {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-    }
-
-    /**
-     * Called every time the element is inserted into the DOM. Useful for running setup code, such as
-     * fetching resources or rendering. Generally, you should try to delay work until this time.
-     *
-     * @return {void}
-     */
-    connectedCallback() {
-
-    }
-
-    /**
-     * Called every time the element is removed from the DOM. Useful for running clean up code.
-     *
-     * @return {void}
-     */
-    disconnectedCallback() {
-
-    }
-
-    /**
-     * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).
-     *
-     * @return {void}
-     */
-    adoptedCallback() {
-
-    }
-
-    /**
-     * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial
-     * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.
-     *
-     * @param {string} attrName
-     * @param {string} oldVal
-     * @param {string} newVal
-     * @return {void}
-     */
-    attributeChangedCallback(attrName, oldVal, newVal) {
-
-    }
-
-    /**
-     * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
-     * if the name is not valid, registerCustomElement() will issue an erro
-     *
-     * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
-     * @return {string}
-     * @throws {Error} the method getTag must be overwritten by the derived class.
-     */
-    static getTag() {
-        throw new Error("the method getTag must be overwritten by the derived class.");
-    }
-
-
-}
-
-/**
- * this method registers a new element. the string returned by `CustomElement.getTag()` is used as the tag.
- *
- * @param {CustomElement} element
- * @return {void}
- * @since 1.7.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name
- */
-function registerCustomElement(element) {
-    validateFunction(element);
-
-    let tag = element.getTag();
-
-    getGlobalObject('customElements').define(element.getTag(), element);
-    return;
-}
-
-Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);
-export {Monster, registerCustomElement, CustomElement}</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_handle.js.html b/docs/dom_handle.js.html
deleted file mode 100644
index 11a37be64..000000000
--- a/docs/dom_handle.js.html
+++ /dev/null
@@ -1,412 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/handle.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/handle.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from '../types/base.js';
-import {Stack} from "../types/stack.js";
-import {validateInstance} from "../types/validate.js";
-import {ProxyObserver} from "../types/proxyobserver.js";
-import {Observer} from "../types/observer.js";
-import {getGlobalFunction, getGlobalObject} from "../types/global.js";
-import {isInstance} from "../types/is.js";
-import {ATTRIBUTEPREFIX} from "./assembler.js"
-import {ID} from "../types/id.js";
-
-/**
- * @private
- * @type {Symbol}
- */
-const MONSTERDOMHANDLE = Symbol('MonsterHandle');
-
-/**
- * you can call the method via the monster namespace `new Monster.DOM.Handle()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
- * console.log(new Monster.DOM.Handle())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
- * console.log(new Handle())
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster.DOM
- */
-class Handle extends Base {
-    /**
-     *
-     * @param {ProxyObserver} data
-     */
-    constructor(data) {
-        super();
-
-        let self = this;
-
-        self.id = new ID();
-
-        validateInstance(data, ProxyObserver);
-
-        this.data = data
-
-        this.mutationObserver = createMutationObserver.call(this);
-        this.dataObserver = createDataObserver.call(this);
-        this.data.attachObserver(this.dataObserver);
-
-        this.nodes = new WeakSet
-        this.updates = new Stack();
-
-    }
-
-    /**
-     * @return {void}
-     */
-    update() {
-        return;
-    }
-
-    /**
-     *
-     * @param {HTMLElement|Document} node
-     * @return {Handle}
-     */
-    remove(node) {
-
-        if (isInstance(node, getGlobalFunction('Document'))) {
-            node = node.firstElementChild
-        }
-
-        validateInstance(node, getGlobalFunction('HTMLElement'))
-
-        if (!this.nodes.has(node)) {
-            return this;
-        }
-
-        this.mutationObserver.disconnect(node);
-
-        delete node.dataset[MONSTERDOMHANDLE]
-        node.removeAttribute(ATTRIBUTEPREFIX + "handler");
-
-        return this;
-
-    }
-
-    /**
-     *
-     * @param {HTMLElement|Document} node
-     * @return {Handle}
-     */
-    append(node) {
-
-        if (isInstance(node, getGlobalFunction('Document'))) {
-            node = node.firstElementChild
-        }
-
-        validateInstance(node, getGlobalFunction('HTMLElement'))
-
-        if (this.nodes.has(node)) {
-            return this;
-        }
-
-        node.dataset[MONSTERDOMHANDLE] = this;
-        node.setAttribute(ATTRIBUTEPREFIX + "handler", true);
-
-        this.mutationObserver.observe(node, {
-            attributes: true,
-            childList: true,
-            subtree: true,
-            characterData: true,
-            characterDataOldValue: true,
-            attributeOldValue: true
-        });
-
-        this.nodes.add(node);
-
-        return this;
-
-    }
-}
-
-/**
- *
- * @private
- * @return {Observer}
- */
-function createDataObserver() {
-    const self = this;
-
-    return new Observer(() => {
-        self.update();
-    });
-}
-
-/**
- *
- * @private
- * @return {MutationObserver}
- */
-function createMutationObserver() {
-
-    const self = this;
-
-    /**
-     * @private
-     * @type {MutationObserver}
-     */
-    const MutationObserver = getGlobalFunction('MutationObserver');
-
-    // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver
-    return new MutationObserver((mutationsList, observer) => {
-
-            for (const mutation of mutationsList) {
-                self.updates.push(mutation);
-            }
-
-            self.update();
-        }
-    )
-
-}
-
-/**
- * get the handle of a node
- *
- * if a node is specified without a handler, a recursive search upwards is performed until the corresponding
- * handle is found, or undefined is returned.
- *
- * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
- * console.log(Monster.DOM.getHandleFromNode())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
- * console.log(getHandleFromNode())
- * &lt;/script>
- * ```
- *
- * @param {Node} node
- * @return {Handle|undefined}
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {TypeError} value is not an instance of Node
- */
-function getHandleFromNode(node) {
-    validateInstance(node, getGlobalFunction('Node'));
-
-    let handle = node.dataset?.[MONSTERDOMHANDLE];
-    if (handle === undefined) {
-        let parentNode = node?.['parentNode'];
-        if (isInstance(parentNode, getGlobalFunction('Node'))) {
-            return getHandleFromNode(parentNode)
-        }
-    }
-
-    return handle;
-}
-
-Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);
-export {Monster, getHandleFromNode, Handle}
-
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_namespace.js.html b/docs/dom_namespace.js.html
deleted file mode 100644
index 0cb1371b7..000000000
--- a/docs/dom_namespace.js.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/DOM
- * @author schukai GmbH
- */
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.DOM";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_template.js.html b/docs/dom_template.js.html
deleted file mode 100644
index 3b2a59d1a..000000000
--- a/docs/dom_template.js.html
+++ /dev/null
@@ -1,308 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/template.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/template.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from '../types/base.js';
-import {validateString} from "../types/validate.js";
-import {getGlobalFunction, getGlobalObject} from '../types/global.js';
-import {validateInstance} from "../types/validate.js";
-import {findDocumentTheme} from "./theme.js";
-
-/**
- * you can call the method via the monster namespace `new Monster.DOM.Template()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
- * console.log(new Monster.DOM.Template())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
- * console.log(new Template())
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- */
-class Template extends Base {
-    /**
-     *
-     * @param {HTMLTemplateElement} template
-     * @throws {TypeError} value is not an instance of
-     * @throws {TypeError} value is not a function
-     * @throws {Error} the function is not defined
-     */
-    constructor(template) {
-        super();
-        const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');
-        validateInstance(template, HTMLTemplateElement);
-        this.template = template;
-    }
-
-    /**
-     *
-     * @returns {HTMLTemplateElement}
-     */
-    getTemplateElement() {
-        return this.template;
-    }
-
-    /**
-     *
-     * @return {DocumentFragment}
-     * @throws {TypeError} value is not an instance of
-     */
-    createDocumentFragment() {
-        return this.template.content.cloneNode(true);
-    }
-
-}
-
-/**
- *
- *
- * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
- * console.log(Monster.DOM.findDocumentTemplate())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
- * console.log(findDocumentTemplate())
- * &lt;/script>
- * ```
- *
- * @param {string} id
- * @return {Template}
- * @since 1.7.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {Error} template id not found.
- * @throws {TypeError} value is not a string
- */
-function findDocumentTemplate(id) {
-    validateString(id);
-    const document = getGlobalObject('document');
-    const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');
-
-    let theme = findDocumentTheme()
-    let themedID = id + '-' + theme.getName();
-
-    let template = document.getElementById(themedID);
-    if (template instanceof HTMLTemplateElement) {
-        return new Template(template);
-    }
-
-    template = document.getElementById(id);
-    if (template instanceof HTMLTemplateElement) {
-        return new Template(template);
-    }
-
-    throw new Error("template " + id + " not found.")
-}
-
-
-Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);
-export {Monster, Template, findDocumentTemplate}
-
-
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_theme.js.html b/docs/dom_theme.js.html
deleted file mode 100644
index af083ed57..000000000
--- a/docs/dom_theme.js.html
+++ /dev/null
@@ -1,285 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/theme.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/theme.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from '../types/base.js';
-import {validateString} from "../types/validate.js";
-import {getGlobalObject} from '../types/global.js';
-
-/**
- * default theme
- * @type {string}
- */
-const DEFAULT_THEME = 'monster';
-
-/**
- * @private
- * @type {string}
- */
-const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
-
-/**
- * you can call the method via the monster namespace `new Monster.DOM.Theme()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
- * console.log(new Monster.DOM.Theme())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
- * console.log(new Theme())
- * &lt;/script>
- * ```
- *
- * @since 1.7.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- */
-class Theme extends Base {
-
-    /**
-     *
-     * @param name
-     * @throws {TypeError} value is not a string
-     */
-    constructor(name) {
-        super();
-        validateString(name);
-        this.name = name;
-    }
-
-    /**
-     *
-     * @returns {string}
-     */
-    getName() {
-        return this.name;
-    }
-
-}
-
-/**
- * the theming used in the document can be defined via the html-tag.
- * the theming is specified via the attribute `data-monster-theme-name`.
- *
- * as name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.
- *
- * ```
- * &lt;html data-monster-theme-name="my-theme">
- * ```
- *
- * the default theme name is `monster`.
- *
- * @return {Theme}
- * @since 1.7.0
- */
-function findDocumentTheme() {
-    let document = getGlobalObject('document');
-    let name = DEFAULT_THEME;
-
-    let element = document.querySelector('html');
-    if (element instanceof HTMLElement) {
-        let theme = element.getAttribute(THEME_ATTRIBUTE_NAME);
-        if (theme) {
-            name = theme;
-        }
-    }
-
-    return new Theme(name);
-
-}
-
-Monster.assignToNamespace('Monster.DOM', Theme, findDocumentTheme);
-export {Monster, Theme, findDocumentTheme}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/dom_util.js.html b/docs/dom_util.js.html
deleted file mode 100644
index 10e4823cd..000000000
--- a/docs/dom_util.js.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      dom/util.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        dom/util.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, getGlobal} from "../types/global.js";
-import {validateString} from "../types/validate.js";
-
-
-/**
- * this method fetches the document object
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(Monster.DOM.getDocument())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(getDocument())
- * &lt;/script>
- * ```
- *
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
- *
- * ```
- * import {JSDOM} from "jsdom"
- * if (typeof window !== "object") {
- *    const {window} = new JSDOM('', {
- *        url: 'http://example.com/',
- *        pretendToBeVisual: true
- *    });
- *
- *    [
- *        'self',
- *        'document',
- *        'Document',
- *        'Node',
- *        'Element',
- *        'HTMLElement',
- *        'DocumentFragment',
- *        'DOMParser',
- *        'XMLSerializer',
- *        'NodeFilter',
- *        'InputEvent',
- *        'CustomEvent'
- *    ].forEach(key => (getGlobal()[key] = window[key]));
- * }
- * ```
- *
- * @returns {object}
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {Error} not supported environment
- */
-function getDocument() {
-    let document = getGlobal()?.['document'];
-    if (typeof document !== 'object') {
-        throw new Error("not supported environment")
-    }
-
-    return document;
-}
-
-/**
- * this method fetches the window object
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(Monster.DOM.getWindow())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(getWindow(null))
- * &lt;/script>
- * ```
- *
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
- *
- * ```
- * import {JSDOM} from "jsdom"
- * if (typeof window !== "object") {
- *    const {window} = new JSDOM('', {
- *        url: 'http://example.com/',
- *        pretendToBeVisual: true
- *    });
- *
- *    getGlobal()['window']=window;
- * 
- *    [
- *        'self',
- *        'document',
- *        'Document',
- *        'Node',
- *        'Element',
- *        'HTMLElement',
- *        'DocumentFragment',
- *        'DOMParser',
- *        'XMLSerializer',
- *        'NodeFilter',
- *        'InputEvent',
- *        'CustomEvent'
- *    ].forEach(key => (getGlobal()[key] = window[key]));
- * }
- * ```
- *
- * @returns {object}
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {Error} not supported environment
- */
-function getWindow() {
-    let window = getGlobal()?.['window'];
-    if (typeof window !== 'object') {
-        throw new Error("not supported environment")
-    }
-
-    return window;
-}
-
-
-/**
- *
- *
- * this method fetches the document object
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(Monster.DOM.getDocumentFragmentFromString())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
- * console.log(getDocumentFragmentFromString('&lt;div>&lt;/div>'))
- * &lt;/script>
- * ```
- *
- * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).
- *
- * ```
- * import {JSDOM} from "jsdom"
- * if (typeof window !== "object") {
- *    const {window} = new JSDOM('', {
- *        url: 'http://example.com/',
- *        pretendToBeVisual: true
- *    });
- *
- *    [
- *        'self',
- *        'document',
- *        'Document',
- *        'Node',
- *        'Element',
- *        'HTMLElement',
- *        'DocumentFragment',
- *        'DOMParser',
- *        'XMLSerializer',
- *        'NodeFilter',
- *        'InputEvent',
- *        'CustomEvent'
- *    ].forEach(key => (getGlobal()[key] = window[key]));
- * }
- * ```
- *
- * @returns {DocumentFragment}
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/DOM
- * @throws {Error} not supported environment
- * @throws {TypeError} value is not a string
- */
-function getDocumentFragmentFromString(html) {
-    validateString(html);
-
-    const document = getDocument();
-    const template = document.createElement('template');
-    template.innerHTML = html;
-    
-    return template.content;
-}
-
-
-Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);
-export {Monster, getWindow, getDocument, getDocumentFragmentFromString}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/fonts/Montserrat/Montserrat-Bold.eot b/docs/fonts/Montserrat/Montserrat-Bold.eot
deleted file mode 100644
index f2970bbdc7cced41387b330775acfe5904035ada..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 106135
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
MX)#!wV^KZ;01OXWt^fc4

diff --git a/docs/fonts/Montserrat/Montserrat-Bold.ttf b/docs/fonts/Montserrat/Montserrat-Bold.ttf
deleted file mode 100644
index 3bfd79b66f9dd2a59deef46385ff5d9c576d6aae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 47088
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%0AQ#VLn8(n-&;S}AVUl8C_;1H_;{O*WrT;(v
zn=#C1n9tD2(8y%Zz`*47|0{wI5@BFqvImL&|H^=D#xsN|%)(G}pz@5?|K~74<r$s-
zPl3wY!Sz35bce|^y<@b8%9}ArKp_JI2SXZY)P{wVfq`KIc=U&ng_D7iL4;ugRGf){
zgW(92&CFoJa0bd|VUS~FfU;Q`q!>Xbxq|evF~~7mK*jkOOc=u$oWWxcl?+7;nGER+
z84M*13JgZz5e-8I1%?oY42Dz&1qNS+e1<%R5{6=iRE8pkB8Eh;x&VeEhJ1!BhE#@R
zFyE1(l%a$ngCQS02B5&80XDCMp@5;7!HPkjL7yR=Arq{klp%>hk0F^MpCOk)pTUcv
zlp%*9lOdI%gdve3lp%*9kwG7;otjuhofz^Nau`w=%o+5+ZZ}}CW(Z~QVQ^$nV6euj
zLze-j2fNQ;vSDEV7Bggm{jY#z12%mKQ$gVf@;AiS#SF>d@GSs`pdJIryc`BSa5$wi
z=ri~;xH0&EN9sUVnQmnO-M@yB!Wo6ZE7L)9ttt#B8ICg~F|1`sW?08C0X%|}!l2IZ
zl0kzZmEi=#DTdPwnhaVD+6+1jXBf^hoMSl8pbH<VN@Fl$xWI6cA)Vne!$gMl3>z4X
z8Qy|NeaygPSXUUXGGs7Z1CM1{GuSY^X0T;sW^jRyRb?^cG2}8VU~pw{W5{Q4XL!Zn
z!B7B>??MJo1}_HCM*ZsyC7`h^Miz!r246;220sRW2GHnN1w#-+B||ks4MP>fLWWv~
zjSRsI?-)YBqe-0%;S3QBbqoy*jSTe+kql7`(F`#RZy0tl#4@rmfX3+NGR$LS2ajKg
z!pGvk<5-LwjGT;IjNFVojJ%9|jQorOjDn0pjKYkdGd{!^#Tg|SB^jj{r5QnIjmR;|
zGwfmb!tj;h8v`$cJ;Py!b_Q7neumWyEDVbo*cb#Elo%E<urhEl$T0{pI58?PDl)_|
zBrw=9I52QC@Gxv<*u)^fsKl_6VHLwZhW!jj8MZKNW!T2Bo#6<hGNTHkDnkpyUIunX
zHHKD(X^iR&d<^dyJ}~S6j~L1`OlC-ASi-2mz`>}=sKubnz{$|T(8kcs(8bWh(996e
z@PfgSQJYbRQI}DVQJ>L((U8%I(U{SM(Uj4Q(VWqO(UQ@M(VEeQ(U#GU(Vo$P(UH-K
zp_kzv!wrT$24{v_40joBviODi_y~9=CYP3^#(U}I<R|C&`M7Xqf>|L!-t47$nFdD2
z<^q`zC0SqzKOYycgt3z|XH{xZzFtaRelACTUMhr9QVtQ}D#<8Hg@|#c<(C$LWjWI_
z%OGML#hDdgA+F-oveY~XGc_|kqXf+4%*%ut2(crtG`9$B2bck}1H^#Z0b)YzfUrPz
zfLLHVKn$oIU?#*45EEhthz0hKfs-YaHiFW|Alk^l+(fz{wJ0+`B{?;(B(*3t1sn{{
zjv;!<iN&d6*yTW44GbJ1L1o}*0OA`N7=W!XGB9vraV;&%2MZb*nu2Hp11D4V#G<17
z^3noMFrAWLp2wD(nO9np%2u43oS&BhR%dKr0j143(~A<zQj_y@lQ_XK1Y$wuAbv15
zaO5n>%t-;Ofy$UbXd`n7ZEV2<ie_U23$S<i;6_5YaC5<2s8S;^hYxNtm<y3JHbv$@
z%;bbvV6K<R2Vq(0<$-+&<r+b`U<VmFIYVhD&{~K8{~7qfqxhg*(V&u!iGhcKg+Y{o
zkwKh6n}Lx*kHL(Ak->t&f`O3%G@=gL`QpmJ2p&miWbkJ2XJBLqWQby5WQbwNWng5;
zXDDM}1dpAA&wys&VsK)JV_<f1^9f-PNv<r)VNl3PEXiZg0iEB>06K$#k%0k;4LVU6
zRQ7^yHfLgB&Q2}LV-P_mLF-t-b2>~6Z2YenK=m#&0}nF~=RO7|#w{R|7>_Z&V_;{H
zV_^9I=l_QPpa1{(fA0V1|KAwc{y+ME;{T2RfB*0Q|LgzL|DXQf`2UGP?*Fg<cm987
z5CwUk5dQxSWGY0}|DQ1W{~wUO5FV5S&51yn|8FqpF)%Pl{oltR^8YwkP=rDC|0xC`
z1_qET!Twi*)jA9e|L=j+{0GmCGbsEA?SO7(ko$j%f#Ls~|8M@k`2PvC%bkIN0d)R@
z2!jY%^&1EcV#6^XoCRWVfz`7xfNoj`@mY{`fJ_3Nk_Qq8VKxu}!!Um`2>ibd69bzi
z2j?*`7%@owzX6)n`v2ztH;AwPKVo12i}5muFi8A=1lGgw|J(m(AbtNoGf4ga2A<~!
z&8mQAfL=4aV|dTN#K6XIh2aVVBf|}b8w_j=PZ^#vFf+Vnc+J4V@Q&df11rOOuqq}7
zU4|xxCI)GSW`<@4PKFkS76vhfR)$sv5r#H~HU<ucc7}EaNrn!F4hCt4PKHhfA%-r7
zE(TeKZia3KDTb8{D;by=Rxzw*kYHHDu!ez!VJ*Wt1|Ej>4C@)#7&b6$U|?t1#IOlm
z(`;toW!S>7g@F%T!w52LXV}ib!mxv32ZJ!fPKKQf;tYEk_A)Rt>}S}|z|3%v;UI$y
z!x4sK3=#|{7)~%qFq~pI#lXXGn&C79Kf@V@GYkR@XBo~i@H3oaIL9EsaGv2j0}sPZ
zhMNq+47V6=Ge|JpWw^^A!SIOTF@pry|J)2O8D26lGQ47V#lQs)1yOJ)urhpR_`)E_
z$i>LTz|X+MG69qhS+23pVh{k|Tg~@>JA*cZ>Hi}P8Vqdz|1hxrfAjwlgWUgb3{n4&
zFv$JC`2Ql9KF7e$!1ezK0~bRND7}H=2MxpGnvH?s{|5#J25|;9241il2nm|K1Rct(
z&A`TB3OYTWfdOoz6j%+M`2QNtL}P$*7FY<B7FifT_e+7eAReeZ0HrMuAAwQQC?sux
z>;x-d1MQ3i=PM8w=0Xq~oLfK)2>ySP0mU4+@7ezU0-FYt)nH%%i$L|m)j^D50Od|7
zlLZt9V6`9tw*TKid=L|iS-~VE?=rys3>9Qx_`e^{WME+V|Ly<l|7$=c!v7!OoCJ~N
z0_g*n1)!K<0l5>Lr$8)-3I+ykXzYN(?hUl8fXN}#D&VsoK^F%@MA74G5lHy|K4>Vh
z{r~X4kb&X<J_d&WCm6W?zyAOF|4DF)h+^RSe}jRGf$RTg2Dbk{z<K{0ELK471)0OZ
z_5Tk8!~b(IaS;3e`~R~Tq!^&~{(toUBS<BP1gnMczWx6J()0h*|J4k<|9|~I2v&3H
z|F{2_{x4-<_<w|f?SIApPye6&fAjwm1Ka;gpcO;^uQD(&82vx}|JVN;|Iab-f>eX_
zF);l9$)FEmf&2w7Z<QE8x7};}f6buu{}F>CgCaQ0RR3QD`H2BE<Btd<hX21A7#O56
z%sIxuz@UTG9EtxI8Tc4fpd~ISO(D`G7X!op_Y5`+ybN4mc@}U?L(Gx*f098O6qXDO
z44`2IjsHg&_!yKJ1i>{9$Q%(+tpKh&R6*&4fsaA%|3?NLP&)d5;QtM9Nvy)a@P82l
z!~d<|lLl=5zhPkiza8vWhX385l>C1ug9a#$z^MovF#qcq6hR@*Ai}`){{;ir|DXTQ
zFtCAH@4yNe{{LZ+U|?XVV37EK4jdMsR0c}Xe4uy(haM9HH^WMBe|ZzbP6iH!Jq(~*
zxA!sZV-RFGz;J*;h~Wssc?MyIn+&%Z<iTa062l{gM-0l~QcVS1s;MzBF(`mbX*O^v
z%>*u`Il!efGq{vy0hiJo44WA?GjM`SX)bUn%?mE2nZTtqAGnm}2fKig0ptQkunX83
zjxZc$U}HGOaEyVK;W)!_1~zbs&B}0+0aP-8%54sCxy=nOw|T(jHaEE3<^h-69N==B
z4_t1uf&IV+_5&N(54>PMfL4_@F?2FWGjK6TGKe#9Ft9U7Gl()Mf^KktgeDmz6N4;+
zECUMz9|Io)=;jyDNpt)R0t~_o!VD}7Vz3;=z{~(T*_eR=(!vAjk!9dy0AW4`K?Wf(
zMzj<Z!0T1y8RQtmz~(bB$im$Q(hDi)K|+iS+~D-ezyP`r5+uR^wj07Ch7@FAVtxlI
z9hrZy2r+Onm@_c^|NZ~p|8M`_{eSuY<^O*SEdL+<|MCAD1K0m=|KI%o&A<d^eIv$j
z;?(^A_W#@eAOAmt+BhIK11JR}X$7r}`Tz6(@Bd%^|Nj3Q#6yxKoyqq9^#2q8zy4qG
z|Ihz7|IaZn{C~tC0xn6P{eQ$D`TxWJZ~q_t|M&me|DXT={eKBAFF`j!fLeJR;F1Vb
z!v0|p`2YO>%m3dPm_fOhbZ1as$NwYX_A2ZDe+=B<l7Z|0D+adz=Nb6_9|!f|!C@=F
z!1ez<xYT4|VE+I9|DXT2|KI%o=>Jo2UH1O}x&L24H39<{g9L-f|DT{ToPhz<-u?gR
z|EvFR7`XoL2ep48^*YGJ|9`;o_LG6({|}Hn$Y1}z{r|%t0<J$k!rJN}9!L&cqJdfz
zAPlLAAtgIl5+}g~HXoEypegVFPf%$IQ4eB)T15Xp{{Qy>J2;j6fXI+ZvM~t!|MUMd
z1H*rCNeeDbA#Hc4fnX6(y$)JB2ihA45$9r%gUkE@34vS&qEYexKmY$hQaPCZ3a&Gs
z|G)G9&i{`LEdSqtZUFlK8Qe|;_sjl&`~MkKzx@C6|J(mxpxg>F4-{h{8jPXs4rrSP
z6t-Yt3<7joSQB{VI3q(70~dHTJ39j#_!Kc#u*n>tdwm$$K|NCx%z$ViAejnnGeAY4
ztA)WlP<sLyg9JgUL7Sm;7+?_8Qey?T6hWy#26VqG5@ujf!+;<$1_o0U2=gyQ6kQLf
z9jnG*%3uIqC2z(6gOUuA3_=VbQj)<CET_c)T5JXCNvVVGeqk_S5M?l85MxkcPz5=k
zEX={c$)L=j%%H%)!@vU`c?8u1ybOE{0t^BS3JkK~_5sLfV+IBW5C*Y9C)9#;=`$!Z
z=riyz@H1$FF{B0og@Gc2G=n083WG3%EZBUI4v0<=OPRrx0kn4l6l?Mf8VrKq*wcpA
z77Sp!VX6t!{NO%58-oy|9^W*fB9Ru!SKtu|P^uGW$YLmA=wg_`Faz8QIKuFR;SzWa
z-UkK{{Km+`@P|>15p*dW52F}(R6~qGkHHW;zG}r_%@Dv4%n-&9#gNTV&(OfIf?*58
z4u+i!ry0&NTxYn+$i=|K5XK<O5Y8aLz{;?L!H8ieg9gK12405!47?0C8H^a18NwL!
z7{VFE86v?w*WmxZ8NwKJ8NwOl86y6_Vu)lAWrzZoSi%3lF@!N_GK4dzF+?(`fpwZP
zgfrMML^3!qurSm!1TZu(1Td^%2w>REpuxb%u=4+V@Yy#;42%q63<02VmH*E`B!dXp
zU5X6h47?0X3|{}QFa$I3GB7ekGRQG7ae>y8GH|7FhcJjUfW{%j8TkKy`+xWU$N#tf
z-}!&_{{m1?@Bf1TzZtmxe`H|){}NogUH!j-LE--{1`%*saP9x^|K}Lwz-qSq|HfeU
z|H=P5|NjzS1A<DQ|G)o#1C_lvYbj6*7BnIN>TAJM0;n7T>4pmsVEq5Y!0`X$|DXSV
z{r~g-)Bm3gBA_~*f$RU5|KI+9`v2?yum9ivzh&S8uOMak|MUNUP(1*16Sx%o1Qz-9
z|I`1sU{l_JY7tmzip_eEE>J1@|0k#hg48qr|NQ?0uHWAL{|D8}1(5}r0FnjOeISwl
ze;C;R{|2`!pyNp(S*RY6Vif%UG01le;Q9*WS5TWAG;;L+)BkV(uYu}J29E!q82CYL
zBL?RGR~YyhB*5)?uKzc|2Fd;Z^#2V5>;I4cKmGsm|KI<Q|6l$81Rf3e!@$MB3#z%m
z>Y&8`%m3eiO$F64pgtTQ10Sdl^8dmA=l`Go|M342xOU)UU<b$4+yB47y{H=uEDXHh
z(I4smFBtg#zxn_C|Be6m{(t*_<NpJ2%LY_?g2oS?!@?eFAqEBZC59-tPXTcgHaRlH
zaD_M-M&Z%&{~-gz|L6ZNfJ5T?f6xhrU|;-y$-wac3V8JK+y7S#BH%jz1_J{~oPhxx
z1}y(yfLk-~865uK`hWTVv;QyufBgRi8h*^+HRBB67V{@02Y|x(%m4lVzyCk~|J(l^
z|963N^?s0V|Gx*-v*6Ty@Bdl`x&JE}82(@Se*vWX|2YQ1|Gyd7{%`;Phr#IoZHW5+
zf50^)NC6HE&Euey{PO>Ea7qF71!46fxD^4)E1;e#IPLuW{}Gf=Kzs()|DQoA8>|a7
znt^1;|8ETJpnKUEKsU01`s`4-|Cj$iU|{(F`2Xks@BTjrl@#Fc5COMbKx2--7#JYs
z)c>ap4F5qVNkZN7{|YD<fQ<Qn=l>s&DPZ=;|Bu0@fLi#!K`sUJK7mM(JV*qBK`sV~
zg6-o6$$?n^|AJT$3@Y(J{(<m7r#pc{5qt_bTnIdR0O#Rifb3yl`2XeqM^K*n{~KJ6
z{som&416Ft5M~eo%RLA68sIL3wEaLO7%0EtG9F3%|6Nd98eCp}{{QIzX9hX&2%!eJ
z&$Z_NhyQmN82+DR&|r}Jf1g3*{~7SCIPd@4Aln((7`PaWK&8e12mc>{b^QMS^#4;(
zTrhx6D+l#lv_bM93&Elc{~v)yIQ~Bex%mGhaLi+l?lFKv_SOGKAax+UApHLkcmxv^
zzo2-A`VSNmVEi1U24pIThNLhs3o?cTI+Ynz*FbfFWY96RY=#SiOoebjENDzZ1dvGd
z`22tC|HuC?LAjZM;s3M$&lwaL<o-Wnkof=Z|D*p~{(t!Y?EjDdCmG}z1pnV+VEDhA
zfeSo-au_s%1};lA{@(}pfgk*T`2YF;kN;2pe*sC)47?0d3|#-;{J#tGB`8IJoB@uX
z=l>spM%F<o0qoWv|KEUmi2qOg|NQ?o$YyZL0rfXQBa)!<2Q*I42OjZ}`~QSN=l}ix
zS3z<8|I7b(ps)v-3>sMk(O?t5{eK1V>Hn)>TR#8)2FmUKe=&$K$o;>?AoBm^{~P}o
z{D1lX{{MIXk1(h}{kM^U9W+w(e<vutfa)OzqyKmR|M`FQ|2c3=<KzGR|Iht@4NA!j
zTnvf~A`B{!c?MYB3U&c(t_2i(pxg{9<Nh(QfnpgPYd^uQOA$~_1X2&hEZ{f;^^4>{
zszB`o(CQ6P?;5HCF%Ab6fKmSs{Qvp?^Z)zcw0Zz0ilD(JgIc%<A*?J&n#U@IOOOjX
zO9YA~P~R5RD~7Z)!0jazZJ;^;Bp?XR!ypz&7o-dTlTaZ91sauOVX$RjU<hOgWUvD7
zgRy4FX2@o6W&o{=Z~?Ci@MO5kaGk-M;R(YN20w-u3@;e`!Lttm3~w0TG6XU(F{m?e
zGjKC7gL@W?44^&*69Z`ciHkvyL6m`+L5x9+frUXFJX0XSAPb(6lVcEIkY|u*;9yW-
zP+;H$kASf=s4!?Ta4~2zXfrT_`)1q>x(vDu{0w>wdJJ6P)hav;1`GxaybOj6h75cR
zMhs>Q0^k<BAcG}?C4&$Hs3kAVV8dX;Ai`kFV9Ou?_M0f!Z=ztoiGuwm%23Tv%^=25
z!%)K@%5at8Dg!UWHHK>pObpi<t~0QLeJcv~Ef?6g>|oz=;pml`GB7hRqx1zqeLz$Z
zCM0=~YGe#ktpPeBih&ghL30<NdXEFV5=4^$6`F&`*g#`^2n-r`GiNYDfuKI6IRi`-
zp%%gd?U52@Fk+BlFlUfw0F8Y^unL0;gDL}vRAEqKU;xJzCj)5JlRAS4gD!&t13!Z{
zgF1sO121^?5|OG%VR15m(ug1fH#m(LFn~rMA$z){8Kgny)5FI_^%;yA^cl>+^QR09
zf?z1XAjlxVAjTlcAO*%^P^*Q(_k2M(a$uDp9S}Z<B?w>5!_1(?Aj+Tvjy*-_xF~2m
zUmB*E2wIYXiSYxdEycvZq{P4m9;;$!kpBPT|C|3ez_V$O7`Xm_0JV^bFpU@`p#Cl~
z>Ts(0zu^Bj1`W{I8d!-Og9w8XcuW!0ig-t%OW8rAnP77v1ZcDc!Xkx4_z}bcjn9B+
zkO?3*h$e(V>L3_ATMkz)0jgJ^^Ee<u(Aqu_O+01<&r2iEQ?o+nsd3Lxdor*vfJXm8
zr6UixEaU;Tt{9jYR2Z}wc)%qba@ocVF4b7Tr5Yc&RAU8~YHSR446Y393~mf=3@Qxn
z4E_xK;1Z6XA&4P}L4_fhA(BCrA&Mc2K^eTKQ3bqGN|hmzA%lURA(J7KL6sqkA&Wr;
zTo&>(<S^tgs50a-<T3~_<T2zis4(O+<TG%B%Sbiw{zoo`a)xpSZiWhmDh4iasj1FT
z%TUL_2_7fm0MEILgXi28!E^2k;5m0u@I1R5!wQBK3>@GYc0usmjTm_DMi@MIBMF|n
z5dn|aNP=f=q`<Q_(%@MeS@5ilFnHER9z1KK1fE+L0?(}rf#=pGz;o+j;F%gR@Z7p2
zcy>kxJTD^yo|lnixXf^wfgf7NgXY%d!E-cX;5iyG@Z7o>xV%>dm-js2lAZ@VYa`3R
z#E=Ba+YC7j1)wuN7#RL9`2QI+j?JL({~M_P4JO$bSQz9OIR1ZO5cvO%A%H>p|0f0s
z1|<f$|92Rq|8EAzG-%~R4TIeO{|p+SaR~-h1_1^>1{MZJ24-+bt^kd#GB7c?LQ{$y
zXaomb+cAS{I~H(?U<IcLHgJky2d4-Qa4HZ1rvedh{0o8OTnHTJBH%a|0>`!pIJSkr
zF{}WNTUBt}s)6HH6)A2Nz%Jqfud2`h$FL|khLyoFtO$-_e(-t<4QM=rR#FIqV;gjW
z$!Z2ca12X;W0(&d!xG>amITMJ6f}lG>n0#^s{)Q&ZgAXkgJV??JPRiPj$1+SESvy1
zh9$tWaMI9tKFe^HK^iHxCBU&Q0?v;-;5cUn*Xxi~6_A)01joD}IOYYxF)svOTOrN>
zT3f*huJ6UbYb%t%Yb$smX#qTgC(Xdb>;p;>%snh23_{?Z4XBp{T95PX{|#`<wuYes
z+y=#0qJUNpNP$;JurZ{7X1nkyhO`|2e}lBT@u=hi%{hbH=%Aj(EwD;ZxycI>1M^S`
zP>l(42^VO+4!DPnDv!(q&pd$o1K|DzsGsHumImnsGf)V~s;dv66#@T0|9{CK0F}jT
zw}M)!FaN(`U;+1Dp8bCf>hpl~fkt^iy^{Z*Ks{2ZemDhb#Y4I2P#P!oAH0$Zr!+!B
zfx+zmoB#L!{{;8QZvDT*!1ezDc=io6s|p^)L)iTP(*K8$+VcO0|F8dl0M{ze@BoE4
z2qTOJ&BOjb@&EAuyZ?7G@cv)_e-(q<|I^@cN^su;?EiEBe?s~b|L=fJ2F<L4R(XKK
z6I|wi`qB&xT>rm=O_l?b44@HN2GIN~sP)3aAORlD2aOIu!W%Sm4^{}BNxBB+fNce{
zKxqKXz()MP0qV_zO$6Bn!l3nY2mZeR)%5@0{67GLVBKa6zTlqxxBuT5bU<@O429q^
zzc&m@psU)!BZ8n6ZJ^b>OblFD*99D85CpFX5CyLYPz2{!74U4jDmX8yf%770WPBAv
zA_F@EI|DPg{lWqsap3~53g&0vXJBRkwGlzi0<A4%1kWFU+OP~@J!}l1IVX0|$R`6I
zxZeVeJCFuA767XS>3|7==7?Zy>@>)3>@wIyK_mCN&{7{XJ0k{m3o`>hxK#}5H!(AS
z`b}csdW4BVo<W&G4BT!2^^$ZMK=T-S49wvEkr=qf5P;Sgp#BjnxZYp`*Bk8MdV>R8
zZ}5ZrM`Gai1P{0l5d_yEg5Wwt1l)$;0@oxW;F?4bT$6}^YZ5_lO(FtrH;97k6JBtO
zK^R=CaD!_VK5(tV4X#y$z%2$|aIL}#t|d6Z<+LEUgcbmo!6M+=ml<69GBYr-E(4Xa
ztXJ4#7<j?!0e=18`Tz6(Xa8^hf6pNB|H}X0|Nk&>FbILh+5W!)kDCAd|LXrs1`+T`
zsVIXKXj~mM9{&H!|3CkKfX2BYISX49V2Xj)$v|f2-~5O6`k~`2pmjQ+F-}k_294W(
z`~MxZauz(s_y$}$e*6CsR91t>e?V?~|DX7oU{G#{I0qwFf@jJ>eR*g)1<$WT)I!Hr
zAskRC4PoIY|9@c6V6bD*VF2}tlo;6mzW|q5lHeJ4&^jQA{~s9S87vtXz%!463=Rx@
zkkKPhN%#L7gDR-U_WvaV8+Zmlk0Ah*^U>`Dl~n(K|9=A-2Lq3xfYwYg{Qvs@5vX)$
z;QId(yh4o&OoHb&z^9{t{3!naAxIy1lo~YN12P)q8W0Uycf|1j9oWTSJ_Q8mj&TaK
zgS7sCftE@@_1aGcw*POzvR4=w{(lFhKPdkNDBXf&Ao%}#Q0jrOag+b|{RhpVfMy0h
z!EFPt4FJUoC?r5@FaH1he+9Gx0h}gZFfjZFjh%v0<a<!f_5aQP@Bd%@fARk#NG+;e
z$m!<)oByx>fBXO9|K0yj8RY)I`Tz6(4+b^{Wd`Q|ufRUx{r{bT4eSfv|M$Qn1zZfE
z`9)CrWMkk5`IUj~|IPnD!8HeDttc~SRPO(u|2IIhX8$jP%mld!)fM1Xd|)BiXfdRH
z1U3;e8v>C9`3*F$hqN98<Xf;Lk;MO>{}Cbi8?<%=9Ev~xzX#`aF3{Wy$lm|I|Gx*h
z22{3yR6u8Cz+=<U6@VarW3?4B7YJUz@{B<h8pbRPN(?Oj?}OHhfY<4PR_{GvQ2Bq0
zK>?Jf7(g`$XhcusKWHTW8+iTGJEV|gfsA1OzY8i^{y%}tJA$nL|M~x`|3Ck~1kJC2
z%1N*oXx$WOZ98PW^?Ptm1Fg{oNrKWT%<WvD{0kXB1g(+>OM_NJf*4ZZ_86#E2k8Lk
zVFo4!b_P4}tPH64Da;VVki`J%W#ls`Gn6t^F{m@tG1M{Wg3Ee6@Ld^>;5j7F$QA^H
zPIm*D4mwQ`v`+wnK|Y7HTtIRN465HD`apF)0)tEe)ykk%4xsuRp#wBB3A&&ZL_<Vb
zp<{Tcqhv-5#^7}(#tf*C5rxly#DlmLL4x#wRGTn>_JhGj_dp{MD&X-vkX}^=R4Bk8
zgaH{Cgct<C;{l*iPY4FB_yn!ffbh`u=rMrI(PJ=R5MYo2*ZiQ-QP5sN(3wb}@l^#-
zzW}_V1r%nWl^Mbe@(i*Jd<@zQ$_&yByzspMkT4>J1dULFQY$xuD1#`27K0fB0|R6?
zm<EFe12=;{gC^8C&}bhggDJFc1k%ILpu+&dqTo}UKqooD_Ff1vFff=v_349i0|Nti
zo((Jp(yPY+DYZePF=`A_;MkLckKuvr1}i0s0JX9~EkrJccT52&dsNiGdsHkyZ4vMu
z6;N*qv^rN6Nd&b1QItWAL63pmG0Ihe!N%D!M1jG_IVePdA;#M=N`V2i-AjR?CIlqj
z6B6XDz%U1D8fce|7|198|1+>MFf;Hnh%?B6#t^}L(3(yO26<2jg88fr{0x!|3Jh9c
z-Jlgq0^l3kw4r=<20;dC1|?994pz^>AjBZUpbT0u4CZr!*XgK$_8o#YlQGJWN2V1e
zCNnCLN9JUvCo<}gN#-Z#FdBij&oNqnNjos<0w%q{WB`~918p{Aj3JK%?<oQu^2W>n
zO0nEvK4`@gD5ZhUbO)sr(4|8lHfXIGh!0|eN-aikx&W0&{0s^Vehib~@C3s$hAj*y
z7#=WcFa|JYLDhlQxygZ6voeT)$|VL{1||kMFsp`vi2<~miitsrArw?^f>o)2b_#>l
zg342n9?&{mP$>jDNtzLy4?v=z`~d2)f@D^K^M(SbJ-`6E=?3HvP$|gB5R4?I!2p`w
z0Qm#tCbs`?z`AxIsbB-IHUh2K1D*K_DxX39H_)15Mg}1UMsR)wg#{m2=Mu0>LE@kj
z?I7Zyb$>k!Q^7m87#XH9%m=TBg4qdjGY5F>6c0l!0~13q1L%eu@MXE+HBS(AAUl~D
zLKt>~&gW(bW&rsPCZoc@5AI`tR&ez&^fL4@^fOFgn8+}RVKT!MhN%p@7(mA(u`sAG
f*fAtBOk<eNFoR(x!z_l`409OfGR$L`&#(#rIXm>Y

diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff b/docs/fonts/Montserrat/Montserrat-Bold.woff
deleted file mode 100644
index 92607654b7c7225082b354f7ec641d5595f3d8c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 112872
zcmXT-cXMN4WME)m-0^}zh=GBD#q0?K4&V~(>CV8o;{gK$0|yi{y1Tf#F)%PrVPIff
z!N9;Y?aH@n$?gIE!3+${HVh0Yiy0UV%KYk`FSrMXIx#S$KVV>x)MH?<c53!zaPSY-
zH)3FD6kuRr2w-4fNC>;J%q=-Lv4DZ0F@b@BBZPs0>)-x&TX>VpN)#9vH@skAV8~!#
zV7Q^JBJP@2ke<uHxG{i%f$azb1E1(TGx2NbiNysBj2n>MCy<^~na04-xrKq@?QaGq
z!4-PS^O!SI6H^!%%QrAEFqna`z>TlBGBQ#V85qk!b|^3~FsQIS<tfd`EvaB&tl(f^
z;Iw66kV`0=5-y#SpPb0R*yzE)z%RqVAeX|f*0>}$v7&&1aY70M0|Q8}0>?*w!Mw!W
zR0hTgEes4y3m6#KEO)0bJXnxlT*AOOS%rZ?b{7Lf*oWCFX}kqRsRay-J46^57)~-U
zFuXtQkUzPCk@tf0ff<$p4G%r{&9vY8wmA3pw%oX^+uL$)=WX9sy)w7B{Iq#RQkU?=
z3a1ZWk9unduJnjcmFzm4%DZlQ><)Ln$ALS0%b(iWO<DdUX5XX#db=&AUlu*KXq}u{
zLGOmn=zi(De0QF%d+b{-{r=aFM>S6IQm21uMcn;<Ag+$3@7wQ>3+g-i{}_M#7dpi`
zW{S2}Z|Y*d8>+Lqj29i<VPe&%zW8#5*{+W1rkxhP%OnjZiyb)>CDNU3{${1^#_ivZ
zGFr*0zY>|V>~i6<bB8Rg*q^_wiCJ;FVC%YLTX%_Fe_eHF#q7e>?~dH9lJS43X|p)|
z!>oIUkN=XG|0=j<q5g;7x&!{d<o{iWf7H{F<!QKc>4A`GY?q_;&LmeF?iW4a6vojV
z5vY@wx^YwJu~lKBtD}9_<bK__(DdlDYeLb{)^8GIH%u-)q<4+E`euMkYH~r7?}3wM
zlFM)U%*o|0oVoTu=r-=}x8iIvmVaCnD<r<zFm3S;0eg`N8dJD07o<J-e#Bd*D!7wB
z(@E@%Sdo!_`HAMIPTW<uTDIM=`*N%?QGt)IxzJ+wkNw}b6-=*SJTrrJg3R%&$Ln`z
zy?nB*f6B&Ev7E3Or7oJr#+whH0Rh&=rh<JB#M8`fm!|zb^DV+^gIhuMr<Cn^r~lvC
z^J>?tU9&`=HvifF>wbQf)V<qvch@gp$*^xz***E0<<D-4+s%C9`o7}v>d3#Z#P|H%
zx<`mz!I1yO@?(l;tpCnYzZO|}kv09=%^yqD=fyq$5wQ3WLqBiPRL572^NuTpvE2M9
z5mscwKIhw+&9COv9?SG!_xXtNJd4BU_deK?ey#GU>-3n2=WE5|EiV6NpI>p(wbbtS
zlSSvk=l?mv{i??Ni_!d+P{+6f2iNcw@wabKJHZ`!=9Yr|0fBz*P0s_Q9PK8k%7{H_
zjyUzW`OayhYpgr_pRP$iygKgFvFl-MJ?%ZOkMTZMmypk{S@m(}vFTFwcYpjmrf*)i
z_v7u}`~PQ&@A()ywO_ja;*ZzI?wkJ0e|%p$KF=n{CTWgT`mxG`p*?#GKg|l?`z-Y8
ztdCKTdylzG&(EpZ_VMU3f77~kAH93yv;TxW{w`I2<;P|R(G`F0KYteex!`|d(A1wg
zKkUy}ODs6Han7loF{duC+$3PGy!WyxdwrgN-OqES@iEsee}7Wnx%~fE$@8^8ALjr2
zbo-o1uXcWX!_)V#4u3kocLJ;EiaSB+j$2Q}`#s$@`|aFhLFX$GzNrVN7aX&jBzyIC
zU1#&}eHHf)%N$V)aR0wnbE}EX;hjZqLst2OXS>wT^xU~^#mb2@uPj^Ud3Uj9l|_W?
z9IK=KwhsICwJ+D6y3*Ekl_f!yg-6Qz8$W090yE~#mz*w3Je_7OGw+>+SjWbR!i}mb
z7E2SinC4vCx`r()jalmA{8G_wh8g{rpRT#`&B(WT-ChZcIfr%Sn*!cNTK=B$fWap}
zY3)nSX-68^yq)yTg0Fm7XuHrx^IqWQY0LpPmZ^2_<^H<neuAN($(q2_fF(_)O^)}s
z3axpg_H;qv<j*%}&GZb+m)d%1ZQ#k;1YPDeyuT)_3zhmM5gsgi!Q_E+ereV>7S4Gp
zHmtIl69Txp-P!`SU-@0KIw<wx=VuYl(e9GfZO7a1u`5cgUcdYQvCqEBd8sQ5#hI^^
znCs=SXSF|<(%`>mAl|<DNSe{c(wTwX=?Xv22xx@nEw!F{`_3|{gWA_M!o;TpC3{XN
z_6^+o@~6d)=O3!=PZ{;G|N0_*ZDZf!63cmP^Hg6M$gdA%n-a-?T<iJFU3b2`z36*N
zCw5(k^~%f$->MI5w#ohav1QYP^>+iiQ`&DjFmxAwN!oBn!1jB~&B*k{GO2IF8E*XY
zinx^ernLB%W8{|{&2Nh%_6HpQwc%pV;-71#M$4>UW+_&!q;Y)eubIjZSKP=>zpXB{
zP<q$@-*&5ny%k%Z?>mtsztv~g+SsSNWpy<rFV}r>OKqOA=yugL(`);xXD3XxDt^;*
zvE!N5%+&Qc``^6jbbpogJm5<3lK*ynlGQKbj%7X#^sNq>9rPmV*`cXxd7h?4T0U$3
zRI#16ZeRM_Jxhx$?uy^r`9i#*zpCrk+h6zpEnV{e&Mp3o)paedj$2I@nMAx>^yKV6
zf$*)x-}Y{FGt69fc9-<7vvbsDPBmf5Dx15|@bQ*A-d7F^Cd=;qQWhCHZ|~t(8SgjW
zJKR}#a-M%~;on-PJ?XbCW-YV6VD9|y`3Zd)zsX{%_XX}PT<yH%&Z=cgv%4&}SbhKK
zV<Ymuu)>#-`)bg-DGv_bYSsUFzxIQGNe{p3N6%dL7pv3SmvY2q+I(Kf?_rW@o0NV$
zX6=LfE05*scn8=`PGdHERezCrn$z4H<&S1wJhy3UlCtU7!-v|hT)eOFqGWT?-Q|HZ
zChlWiaJsN+_t*BR=|`<kci&oUa%R<S28)>MiBVctH&}hS6@K2<^)G|`H%0N+Sx<A<
zq)HU`-pnw|Y+uU0$T-pHcm1Ito~jjR&Iz11ca&Lbvi7%6+thE&85!EzD>bi*g*B)i
zIOmuhv2^wam5M5-+BN-;7v0^y_~ios4$k6a_bK09v#&+(dtM>%eM5Lz)4Dmi8|(PX
zn$kO5%rCa5Z@npX?)fz<msSm?H>>AvU02rke)3#vi;G)6ew*7``QgNyoAx(OPFR<y
znLQ<|hrx`cSL#ZsW$m|E%M)s)XS8P>_^Gnv!Bbs^YY7Xs`IqHsT1#r*R=0j{%zHg^
z($`a8#eYlvSnW2Y-PmSL+T6DjG_J2N(dCtyE%C_3`fB=@hB{`iNPelS%g?O)f9-vP
zTgPJA-j?;<)jju5bA>%%eDgnc{l^a`3%0F0zHy1h#j;e@eO4)Ad-q;&Jgk#?V$HWN
zw>&H_Ea%hvwD6Uv9Q$^i-A}u99%U}byt}lfZF{zpu*K4>%;iOUBJI}l$#uW13X%PH
zKk&`W1=E&Y**2MNSuW2PkBK?Q^Rst#n9tJF`T74s{9FN1wX?@3ZL$#l@?O17Ik3BK
z&n%NSJWu|8FTGl7ynprAj(zKW4vTFK5{m6LUvC>C`#Wsj0`nsx>u+D>+io>)Y1;jO
z4^NMzEpR^MWb<%2AG6fumbL47+)M4>T1|<wU6Nh0)aqBaQS9j?p`|*PO$Dyq@Y`dQ
ztM<^K_eeQ!PDtMBXKYflmM!C4kY%1TuWmEj<`WCfdX>&U_HyHi=@UfCGK9|8{E2({
z{>`@Z-ELQdvgS1`%bB`Vb>ecV_1`{RbKO{R%A);6uYPCpy{vcaSHh&Hv|o8>FR?4e
zcf-yGX30aZ6HN<uHP*$pnoF~FwH&^gx64^_MyvVim9o2T&wJ0ZwBpdofapWDclmg;
z#WN(jZ(hlWcztw1p|teuqwQ<+1g&Rzy?wTFabc>?mfN=&?yl4Q^7!DnWxT!7Pd@KD
zA0*`W>c+0ZTL-x&^X@ubG5zbD%v*VuhOxJ$4j(P_w_fzyIemLX%e<P5&+HvvW~m*h
zI&UiZr|eAG#hAGdgmqI-EqZ_CNLW*3a6!%X?47o=duDCqo0d@b=c)YG8~PcWqZaJ>
z!5VG!^hm)r>Fozf&N=>nBP3gOgL#qY4*P<Gm!lM|dZHt5zV+O3v(IsU)R%|3{4<YD
z-=cB3^#8+xWp70?c4zjzo%ZoW=TxKc+dt-=e0AL`&$(&Ip5M0dG4Vg;ww~SU9r@v$
zZi1CX>c;6Sn={iZ8}9NQc8b}M!Rc~e=IReO{Y$E!en@0(bblept9^ONv6B9Gnk77e
zNvF=uW80j*>O)*_(gfFV-%KsLk78oS?;m7br!wtF?U&BK-xsOuI(my;BRM}{vGs*5
zd4a2{OWWnPynh>g_0kHXx0^QCMtsfEyt??-O3&Q)X63Wy+zl<-%Gq(A^Jw*J%{f1r
znwD!W|NW|F%DNx@z5Ax#=bNqS|9Jb76w!FgZJ#dHZ_Mt0I7vB>q0N8k<*D6YZk)KW
zZR@u_P~#cYbl&!Mb>X+_Yun1}_pF@a_h!Yytj$#!7RT6+B|Kho{A0-1Gv91Xl4s`6
z_<DBYv$W6a%x9VJ-@dJUMftw+<=;1bZ|z%l`Stgb(7Q3^SDM#$h2^eZd-b+d=Gkr2
zqF%4veNB6RYu)U>eZTzq?nqVGd`Np>9G#PUdt0*lcH>(&-|qP){jIvparchci|g{Y
zZ?(Q{`}W_rfa<-qm+Er%e~`4ZkGF^yi4Te|yC1!8nb3kCMvL=2VoHOJRz>&RKgMk1
zBydQjZQ|_Qq!&p--qWA)B)nWSDR8<I>&KT~E0mVyDV+SubyB0zrN{rs7MGgtj*Fc$
zBJK(|ukh@AC17e87%aK-=y%(-|MO)7V+-eBR<^ahbYU@r?W2{qd+rzJuil*}VY~Q}
zabMMmAIh)fCbM}eDXFMCg($DD{>|U}seTH>q81@l-oPLM#g)6-+o#wn)%r-eNU3%H
z&;L1n>y<5CuB%zLd<uNMSdGi{+;UUKD=OjJSJbvB9J{%%{<TyvtMPwD4%Znjg3hrM
z%cgAmvE^K#A_wbfjhR<u9?dyi>7_Rz?ucs4G0~XmO+M<}#~oysO^v>L%=YB@ee=C+
z7uj^wNIYMozNNM+y`ph?1#37HPh%4!zfX#5-pPy_hh1#h8~I*uWR%{>IeQ~(^hR0h
z4Z^!ONLOzV|E=P%<JS)UlFWHed^T?sF`4b*_;;ep_12{eDl|O(I4wQ@Wu8-fKB3qy
zRzH8GK#P*ky<b|Fu3w8=@NuGwv7MWvh*P47W1z@k(U_y9p5HRh^k}gx<e1zuDJnMA
ze|OvK9gVYhwBFv)yn9Fc?}~=@ik9OXhs?L>%=6Yc%+1SP_raZkDe-W70Y^VaM~BXd
zKA97pF(-O$PIT7@dCO0TxW8FH@Q@k5qsAeX)BAJyU#)z$>-bfhGsl^9jwtCI6Vf?q
zq;s5W%@M6N$E4OAwOVtWE$4_@&M~o^qh>kB`Q9ASdvi?g%~88I#~EdgD9RizoO8f)
z&Y{dX2P41l5agUF$Qmffdr^?tP>_40Aba6M1-VDcj6zC+Ldu+zlq4r9vj!=N1}XDi
zQj)!-%xt72Y@{r`YcYG(BJrxl{J$2-|4L?HOA=s9=4eZjXiH{sOA>KQ<~f!mb1a!j
zEtzXslGL(fwzMR%v}C?#NpjDU8O4$W#gaLvB}q<8W(`Xc4Qqb8^myW=>KLDQ*~PDe
zG880tPCu)wR$cB`D$H-U*S&b(au><76<ncd+24OYKm2~1;f?KmMMr+@llr~ot#G2o
zwQ%RE`dp9KGLIzAs&rLYT$4$f_UuQ|zNx>rye)6H|9|h_@%2;g$A7*$>Cb~N^+j)M
z(>?#4*qvqi{Lk}x?)JxLmp-hGHL9xicI#Zky-U1A@rsM?6?fy0*U#P!-^H5geJO0p
zR>yjtBVKC`N#z_hdsD6-A@@-{*)MvTinMk9?2|^OX|pc=oMg~%zTx|wfO-4;KYgj0
zwO#sng}L=a^KILY6j~<l6mETgcu9`zyerK|7ai68Zen<;?$^A}mOrK6Iqg$eH%;Tq
z^E(ghmZ#Y7l|8nu?pN5g*LtoR6E_73J(-tU(WzN?=uRZV@lun@nk8$_?b7uw+jqJ4
z+sXUe<=M18vX+2)j1dKA&YaP-NK0!oC|3HNb93U-scTPcIds))_Vc?QPyc`Y9ee%C
zmCx(;gsI#;yW0HsJqP};UuM61Ij{Dt(}d`ismlAf{k)4JXUsZPaemF4RPBv^e`=1$
zi0?kJWm?RqzB(_V`$x|2@=ToK%8|SF^PbCmoaVMNTN+C&rkZ@$JFI#1m)PSKwhxbP
zd$;TIEVB~9%sS`X>DSg63Mub9{-a`@^`d35Gq35inEaT2GTnAjs!Gh#4fChP@McH}
z)E_NmwY1!r9p#)=a-r_#<ExwWR<9GSzMsD_T!>TNnsZ7*#L`_qWAb-gmDKeqoGDg#
z^|MrlZr`Pb_q*I;Q!D+70_<<47BXoiN}J6$|5V=os>nDY-{sEpZ<9L1a~^Jsio7;U
zN;9N@!{(}He&yuA?B8>e&5e434y!G^=Vmhh#KT(_ZY#GeEG<jRu&lQ5WfYuIs;~Qc
zS*~h+@~UpPUGwIgTfJ7))Fi!t&8c;R>4RPeckdJJ+EJUeFK61G?aAG=dqe!`Z`Lc$
z6v=SpJ2BNvR{LRfXWf}wA=^ySKh>Jt|G!#;`O>7Rrc<`x)u_6?AogNUn(o=zGVZs;
z%=5lCiFw>-X*Y}ceW1GQ?pDR)?QY*^uASW1Z=9u8vY_YL@eO*?XDVM@44!p0b$8m!
zpH~~)w%<+HdGC65q539%n<%sWE$gnhmiV{LDNFrU=feB#W!u5l(`UA4&b?|=Yv8T-
ztnKf;^~NnRS602}JEu|n_9I*I-;WyE`OMibkEy<j+MVcGbMtUjgIxKf?*}qHrSGQP
zteX3CqwjU=)Q+V*?~0<$^K!0iyZUS5yMXUWCfk26y?JiOr0nx^;;v4TbD#ZUQ=jpC
z^{-uVVQ0gWo!9*=jr<&Oamzx>*;NjqCO-EP3r|NmJTJLh>i)d8)UYou{^TY5<&Uo&
z`hMbR#4714{nw`aop)u@-?%G#TBn>aU*vt^EUT&Mc`1g7tj+s!7AtQ$*!3XF_Qx7+
z*3Mu0Y+nO+uX{1W=<oEbYhCP%Vvj8T7rL(9ao&lgJMRd2OKMNrY_)j5xki02+tH6J
z7XA*}5h?9-nJspQQT!J}-`7f2_UAX$CAI|1|7}^=B(}>w@E@OL>g`!q?^rVyKEL%)
zN_@>p$^64IXET*!Cm)Yf(YY)Be6P>j&eGheZBL8hn%~>rVUd#3WZ$rgH&yfd<Y_|T
zQSYw!UH|<eWJ$@7&5z}BcYDk&6^fk|>APdw$6aA1me+PXTiUbWYHsP}#hk1+-&=2G
zuIl}DxbUUK+GTY|d=r)))#<8So$xQ`Q2m@sC2LZb?OJNLa@o0T%WY-0OP{`Y8uN&E
z`WwmhrH90mUfi5vuibOAF?;3ub!D60C8e-UYGBMWnKfzZzk(aL7}aa5n{QaHFBYu6
zweH}R57VaYIWBciYs-#HRmTj^|B!7oikA2wmGoudt=CP@)kHV!Jn)r8oxMDnEt{>c
z@6(I7%dVNS$Avf@%`#YWf76WHrHxY`-G3=RBYO3!)vH9eUQs*$*)5Sj@>g-<5sjCL
zyW33Gw(X5|4K7k?&#N_A*0%IsLT=TCcaEQLpLwKdo3_(lpzA`))L%VfXY9Q-voqxN
zm1jFX?lgJa8G383n2_w=TV6Se1)Xw-H-w$c6kECFW8sh1RgQ6&>~Bu}d|`FemI<22
z|C!#hkjmQ_6_#TsXW09pwo<-@YnEk#$uFPeEaU$djhgagH%(x(tqlyeJG9>T^ZZL&
zerB_6cCkNHd^tKUIy6~2)_jdZsfD1XjPBLs2eO~9DpY4MrYBXEKV`Z8<EqmtUio4k
zmp^xW7B)!6>fW%rttq-t{IbKv#odYCQL6eDk3Iyi*s2@0CVXq$lhnPktb0QgpL;A6
z3H$%~%+G^La}~F6-@TaTAEJ3EK>MusyYiNNqyNk+UUyvkJFCC+`vidx?^*kE-g~Wn
zqAI$)UgziM6<a?F+gum=DP&=D)Zl-cU|ff`W?P`OHs^Oc%aHniN3NU`jtzJc`XXq(
z_1Zlti@W|>XrE9o)s(qbxHiM@|FZj!cW?7rC2Y0abL*EZJ=e2}Om7`cb~Hbo?U-K`
zG`q^z`-DT@`IQz$lSCgJ(7gS%%h7si_#xS<sW*JizvlE^y^M2j#!m6ASs%~nFMP<h
z^u(bRQ(K!)m&e)2)_NJ761@JTIAdOXlG`=UYQ-sEj=xwOv~6DUF~7^xyRG_Ezj@8O
z9JTq8@!BO}I;N-B2Js|?p5Gxi^I(Xs%+_gUMLUgGu41co&Ry|IE28$yf^(bH)(7?b
z=+2#(ykpiz(WQLGlT2&7_J;XI7auysGUrUjYqdRbuDaYmgMDZI&!2UD$v=<%{?gCS
z+Ar5U{dY=O$)%`I?=1TM%X~}ZEZU!@BX7j<B%Jx$Kf|*bY<-WW+<iR7X5}ish!>Nu
zU4Nf_{`Hklfv4-Orf+^-sC!7(cER+<EiAk{8@{}d{doIh-j)^0u@CgD4lP>4wD&=i
z*_ywH6f5$cWVe4Zijnf(FJj4LS}a+wv+$6`7N=I5IWh~?Cf!xK`{MYl&H^w0rN#gJ
z{>jNK-t@q~f2Yd5w3++Azgd)0Zo*srSf=01%4X{!znz=r?JZl=_+B|=gRaE|Pwq?K
zS9Rs?i#)SQx4QX*?1edR_UCJ@Kf3?^Kl%O}95oh?KQ6Bd*x&osOZeT(tpyC8h0BCz
zUF%MC@z1o83A(yo*zA?)*%rmvAmyH)`@)x%Zr$)m^2q*m&Q;N`+m!YC_cZ;p+V%5P
z)x~-G=T6D3y<Rw_Ve8v#GuY~@9)H@C=-bjfB}hHx>eFMrE^LNRtZx3kd{aJC|JuD(
z-L{rxhaT*{z~nBz$NQ%6y#29nR8Pq+C}Umw#iF0@cSec)^1L09(_Wt6#8;lDs=wW#
zwSe=VGw0uvbJts&i54?$UM$k_LwT13-^Ap33%;Kzk1yW2=j%H~om968{qkki(<c_3
zP~hzd>?k<MwxH*-yz1QJQfyrFe&7AIbNA&tc`s}a|9ro9@twWb9~`@OGS{QDD{z&S
ze!7v*x;c|m^fo+yIIY#{oy@Zt6RMlSOOH$Fs7EkY*nN!keQr7FKz({W?;nqEwX;@b
zaa#Rc6F5yVY>j%!!Bdv$o1b4aV3FM&eM0G>kojD{W5xO(e&2ko^+h99=5^jhUtK+Q
z>)B@JWlV<~zHbTQI6U!v#Men`wNry1t(*P-VW$np%vdh{|JwxacV5pfKcwAm>iyq>
z_koD=le2<c+h)!BXr7|wxl;YeJ++`0Jrjy$zc11Vmv)t&^W?9J#nqeh*l$1iaZU1{
zTY8V)nfND>FRg8#n;7X%SD$WP8rxY`p1ku6TU5ot7s^XpyewF1Ysz;Vjk1!uxA0>D
zcTtb^o7|Aq84MfBx{VeHm3vNRd)nbR`=ZunzUqXul#P4!HQqjC^sSmbZNdr@lf3<t
zSy#&!bly3kGwEY&d-kp?u5AJDr~0kB`!i?8jr&t#BXl<y*T}AzFJO17;@<5H*W2rs
zR)n2ukNnYo^Y`&6d;Q3+NqhTm)rx1n<C^dO`e1c@_&fK$FO1);SMdry5^z6!JgUNK
z^1gfP?v^RbzW5yIw^3Ws`@Dto(nO1ZYc>CtZmkMGJlE29i)8So-)GxQ+Yc-en$&*g
zXU+V-53X|jFkNc-p0_MPM}#wT&ScSrykh6AqkDpu2!%gbZGY$#ch}VV|EBIcu1aYc
zy1%>nWr|Md-M&>%v~`vga2~f-%h#{jIyF1dd~=t~)(?TP8@?&Ex3J&u=b7@Yt(@Vf
zQT`j-3-`n=4Hqs64mA5dCo1v8f~B9DeLqwh^jXyX*}6^C-*b`e;Xjw6U4Jbr<6r&l
z-~6L$uinf5Y;R8M{<HB-g-l?t>@?5j4gIsu8*WQoYa}%N;_92h?Y92~-`w1+5r3yT
zoU8insaTb@b5?H_ude!~yiZFs?3%^jd3znTb^gqKBaxEuoa4Fkx@=a>qtEodUwimA
z{qAS0nnhoQtNHY9uX?4aliI(DKY!N8Z+4u|gB-m~Wxg3c+gor~{P6#^x7l^?oa%k|
z%SR`-@)zHEYlC|4kDn%6a_?x6HOp=ceDQ3;CMT{xvacKe&Hv%>`LO+*f9)$Th}(7U
z%v!Ckz4MTyo1|1({i>ejlUn(1z27iFZ$WOEK;5g&y_>?eq?uZuy6GQUy+8K<D$dh}
zXKa(MpDnna{40@LGWp%@+@1LwW7s*R+u9#pxqV0M>+%0e>+kOWcYOc;qe=E%`csxB
zu`O78sAq-5p7}iY^EW&&*^;=h_(SRLhi#8$PFwu*`mDG=T_3)-2%Qe@+#11qwlOSD
zUFAY|mg9Z1!?q9GWJNv;r1DfsKH!SKV_R4!#wO(VYiGCe)lFuPDz&t;F7ZDx@LeEX
zHfLFn%CYNBy1t@058ajQZ``U%JvC=n;P<qxwRawC9^Kbp9uV0Q^XQ)R^lhmpyq{;b
z%f>&g==&_Qc^!}XN6jxy(^vNVuG&y`Xk*gSJF)NbO>gdWDxWKRAk$a*bH@99|J34L
z4W#cKuKAYZU3bc(b>B0|S=VoLhpMmUy8r$B-xU7(_PNh^U-@XPT&4B7R?trCRbJt-
z=zHqjG2GLbx*6Tp@UC6y+-em6-MH;d+Ls3=OFvf~^@_h3;&9tPxO$ns^yS#*)cCV@
zbq6zJjXiWd*9TY5Z*f>3b0e_!xj$$1i;`{2LpCR--@Sd9{m{kvn^&K`@qG7%(1O43
zYC;Zdiu~}hDeg+Wlce!|`L4Zd3+KN+e8fWi-eJx9^{<v(<|w$G=NHj4r8)Rx<VX3v
zc5_3;YL^R{d$F3#d&TegeB$(+$=?d|H}3miV7pxX?W~J`!%o?^1^)H@5%jpaO*bt_
z-DJ7AX{KR+{@SnIZ{(I|-Qs%Tu{&KV<|6Z-zKzQYYBd(*9-lf{z25Ju{?>D={&D=c
zbn5G2C)JlbqYs=td@$UyN>ft&)_Uy^B5J0^KhthH?J<9|^39FQi-S!sPS*+4J|}Sd
z*^cSkwNCoqusJhxm3z_4_=Ru9`quh!?%THZ`Q&Z(>%xu{Tx;*Ci`@FCv+mjY2iHUQ
zFWh$j;cEM``0X3x?yY*eT-kl2KIgrr{KPxfJGUSERF)9BQ`~Rzy5&)cYj%EJ@Hp~p
z()?{Vl4k`==bemA-z(&8`0jPn@lO$-jcw1mcEkx7)isx2Di^RbsB!yIbN1&y;Y*oi
zcKhsV+RuLPFZ=mm)p3`c7a6%*rkqZd*d8U(H>*W7DMC}QTY1la>;Kaq|9ewkrLsr-
z(x0|#rS{fh=_z5iXEkJ-NE+<<Hap_%0`aaAo^D6omd2PezxR90_dI)@aC^Zzw`h|s
z@tF_%JT7fnVt-Knc)Co`+2bePyV_P?joDx5G&68v-8V~pp-nvO_UhNx&C9xId0f*p
zBV9JG`1iVsThUkA-&*wDn4vah*1w`#B9{!DxNJB7y?1q$r=#5^xxQWV9($~le^b$0
z%4jt)*Sl0C@?_%akJ~;dF4=cfulPi$-K^lP52b_lNxVE|Am#cw@xY^Zk9>X|lrw0`
zZ(m=v;oU`>{Ns;15C0DRtp8ZGs`}p3@YH<=%mp7;zip9o;s1SAW}cDB+D`wktJkJ7
zx5_@3T>IwY%G&L%=C9bQSKZ$EWY4dMBK1K$rQVYdSFU+)<fJ|6zwaTvFSkmkUX$g2
zm-a+6S^UoTT*=>&E6?<-4mW@DuXO($J8wDf^IR`>ypFxJ>9`+D$#IMNqL~vaR|M&9
z{eR)(6ulRZ$|@yno0h#)QMK6nB`92}T&n9!(A$={bt|52DL?o!)w%S!hTe}q5tl@}
z*A{+rUMqc^(>3<NmlvNG&faZ%^x&f|!&gfUju&^e<ar(atk4_C9ec&`etTJX%ko>j
z^UthtO<k3F%x!TK&(^im!XicYX@6P0YMGeH>&4b7d(AtJx~H8_KfL>`R&iCKs!YeX
z+NCke4gWvo-ktI?y~Hhj&$QHLy8{v%(i*&Cd&;6NPh6jM`5B*||I%rKt|y%xSEuOC
z{J!-^NWYlb^}gqa{7w`r$GN@8QY}5_5nP_VantQP!R<%#)~$=Wa%$sN_m3s~cLWb@
zdu?ZSM{;Gc-q(K#FV>t^vCREt_WAwR>??Klx8Lp7=}pwM5?g%3P{wF(xAnm#E0(_v
zF!E+SDrlsl5G1DQdEfWE)_d9IPSX$R&M7-6y|qUD7pJe|+lTYC#Lo8^`qXY;*0Wri
zZPMI*dEb54U9@cy^G(YSUwNM47K65CTvUv+vFmKr*b7<jFS)I4|9{-?@!nIxyL<e%
zmCEPz3pKvw&dQeCD;&Mr+IGHBSwVuUZ)m*m#CsZ#4<6cHE6a7n<`8d|-n=Ez>ephF
z)>o?6ZIMr0qFY)hBOCYMeA|WN9QFU*6AhjxSXMsT^2&qj_Otj)I?EZ?fA|`aX1Xu&
zqqy#yCbQ~k7v;+ThSr>2;CM4>@BSlKm!+p=dPZ_be>!XtYPmaE#(GZEG`4h!WYdiO
zeb4RUS07_8EnM<n_;0DyqTOF&e_eg@m;G&Br2dP@f9)AQ_t*NX)C7Ld{v36-z%OIf
zs&)Gv&;RNXD{-1``%ZDL>*>i=o8&Y-YD?wn8SkEWA<_A{?7#YzM_UeBtaGbNOuZPw
zTYXRT8e_NJv)1)pryCb0`3bHn$nIa=$CB%)9~GCic=ETpwyh^cxo5wx`_yP=b&=P0
zQReiHxj|unsxno-y!*BP-#(f6|0{o<FPG%4QU6*SmwUIpH+gEQzxV5m+<)8EHY(Ys
zJ-mE9`u}3?J@0C~)7Iv`c2#PR%;asEZK3&F=y|DbiKQ!-MqnLB{|fa|GkI5?Q)~J<
zb@^)qZ|%%AIs9v1-nZ9bxyOs^?{~co`2Jmf@50?z?2o<oyQ8|>`TuR_s_$R#OU=)J
z^*>~{{q1-9TYjI`J%2;*j{F_XJEwj}>3^SX`$nVmc4L|Jnf$H4cfbAT__|qs`P{!{
zZqFS4pTG6~`0e-lw`=F$-G7yN&)VDO0&-mbEzf`5n-rgT=N)JLyiLD@X7GA{+nuJk
zwBYKzsM^%(y5jqem%hZBzB}?K_=oV{#XtBT+DrWUa?Qqt{TJuU-{GI%pQ`=(^>34{
z{a^b%vstIyc9Uq)ox48c<fOxA&TN!POG{g3RD23Fgm^|K%`a|+OxlhZ$u#%h=jzYD
z`gvzZZJqJ&%rDuVuM2o)|1|m0d5q;pu-n=RAAkF)t?t!&lkR;Y;QwLaxb}N9-f5ca
zh0iOVa^7<OL4CHvS37p{e|l%^#(6YL?P1p{^To>5Hx8fTbF;1x56xGZq0$p~DzqtE
zW%4xNTa*9TMa(t|TDP@1*K7)R>zb|glM`!W4<zok2@zez`|xh@o1E<U1i5XqUl&Hd
z%n^P*t+jOVdA<Pi75*C6<(6FQw6UL(JUgS_xmqN}S@rVQsb#hGZs&SqM0P5bE&AoM
zt~u}H%<KFv?<Sr3w(*4V#OV&M2J7#4?>YEQIHT>vbeCtGaZ}Cyn{Be2TDi4#ANMcK
zqJ}^2Z(L4qJao-4!#n!w+FcpiQN4ewPA}fxX!UXlyUD3n>AV-O3*T5~ux^>?g_+k*
zD%sn2RF-m<Of79LmEM_f?wak6I*ux*>$dFE&+lDyd;1#xHRnyvZxV|*?Q(XO)A<~q
z*!5e_{<3=!d!ql2zxMfChrdm~(OK3p^N#-}*^T`HF&Xv`SN_gCzTi|q<jErY!dT%f
zuB-lcqj%4}+w>&9bfV9DR$hjQM`iA9YA?Kh<W}%CrSm-&|0lgQys+fK=3IGw%g4t4
z)84<HA2E;pQ%jP;_kg<e;PVS>SFJc6@hN$}?*8~q@|ATz?lIq-mlvP*G;`mveJ5{C
zYkR*ze&eS%za9KV+rI|uUx;tsx8eRqdnar5s3k!se^s?U*t+t*?9Kic@oSa})br*}
z%AR;%{AA`ejps3EetxcE-*W!k_WIB37ps*_Ilo6wax3?aJ?Ag3x_IkiTbGHs_#H2s
z+q$<JbLBH8oH*|4&hkm*pgNbGc~uo-{FIcKSjYW*yR@sge=@#U`Xc#a`h|Uhe^soQ
z-&S9&+*Q~4|1QhgODC&dM4ydbFn`hRMeG-n&d)U{KKbjhOt8aJS@$QR%`?KUmPT)H
zu&iHhxXyNkZ;{=j;0^hH>dV_N`+pWlpJMFz#nyMby7P1AbgStferW|3&n|YpQ2lWE
z1v~5SKh95*Z<?oYdatVW`JX!9!p_9MTR!8s_N4B6{?B#i&*fhbc_IBAQ@Z3W(_jCL
zE{3beZoc?4Ze8F!Vaxi;v?D*&t#6miuU=p?|LM%~x<co7f=$XPb$23)^6zd^T7TyA
zn_^$1^UI^{EA5{CE}G4yH`}H?kNe<TmU6+bdu7yL{C>?hA^p6pn>@4crIQ~otW4RM
z|Lfk(U31^XJ@zZoXTCe-Q2CED>gh}7NbYn0Zg=;*a*>Rhzv#R9*Vpg-^D%gn&Gt`w
zI^`GtkS)9~xVL`EZT&lz@02ca{fgS}|2?~W@^0pkioL(@)O_Era@^;j`_lW9XUJ}_
zSH0R_&G<V&Zq=+)f37S$T{$V4*VXs)70cxMsH0XK@17Yyzvh0Xc*6OtnDU7;4s#rQ
zd?X_HkJ;q=$JzeJefdyVpMB@x{gu;No3Cp8nX5ZTxlg4$y>3s^=Nh%iA(M*PCVTC<
z-BW3PG>!k0^Ao-`D^EOOQY$@i-|+qe<LZhAPic!AU#1w>i*d%RJ!Eq!{aZ29-Q*(e
zzlPV!#r7Y6m-8j)+@1CIvnuUswZaW2e0@LD_Mq?%>GefwJJ;;@dwPsPrQln!>Q3|T
z&t2_)3(K5&BKb+t!XjNnYxT#KTC3(?SX%Qf<=dS(HPY|@9Taqaw*14jInJ`rF8{e}
z#&gtX!~9bl^(-bk`z+gVUh2*BoL`#Ho=bcbFUr3k`QPBL$hk7r@N((*dS9Qr*>%>~
z?qsYr`>WM=sjIyGlJ75p#j-Uj@9oY#aocoq<Dn;9Cmza_TOMC~Y6;hC=~+)7&OK0Y
zMQY)`C$rKle??V9Uz^_89JszlwwCRa=$Yrn_DwNee{?HNB7R!^3i@I5taifTnfuQ^
zsp~U3m3~jwIgX88`n`7gJz35>8-D1_{CWI~rH`Nbc13gL+g;A{4~ohMovYEEZ1v>$
ziSo<YE06p+XCHX%xyQXkA;sM%9%^ygo|vWkh5d}}hu<e=KS(HM`=dBjdh*OOM*5BR
zXXM$nitp@u^PJ_c*r}B*e|p}_e0P2JF+gvR+Wc83?oFFHeU;^g?Ota-|G2_<McLes
zb^C+6ZO?dqNZpG)cPj49LzDTn>1S)IG=F7$PJa62-Isk|tWHdw{8KJ_;{ApDU%l7b
zYhHbirEPNih2O?A*Wa1rP(I^(TE6hkR~p%Qf%7IO^d2m|d;B8%<~obdj~^yHSrK5V
zW$$D(uiU?_Ir9FzKbA6Y)FlMZ&HVmMb8m;g?fdU1XPLiv9Qk?gqYLalw|=af|91x8
zvEY(#f7l}a-%Q$H{CmCsznhD`ySi~z7vD&8PSkj^_p`a=J$KeQk862zo5~!1e>gMe
zze9IZQP1@C$N&1K#~0+?j41az)Y8}VCcq*vXsz(iu7JEnHn+BBtajSEur2eq*XDf%
zyMHYB(eY!)IqfUUBWzTgfBoNmKIh!qBMM@s%blOIeQ>=XI%|D%p6BU;lbNsHH_3I|
zJJhjNd486@p#JfDP!^lx=SRjTyj}KreE^qGk9I#|caSt#xnkD*lzEovH`2fT>_4Zy
zr$DRvxPu>CjMd>^T>-J{t#)oaW!rzp?a3y$BK3o|d+P29xbC_iSTHets(Q+P|2Ti`
zS$iihG-m!$b8xzY^Pbgvq)qOtRd_Jm4?gop@vMKxAIlfI??vA;Z<+77`HPGg$Ftu;
zdwiZT-dQ>0r_@>L{|o<B=l4&4p8L7(<Q(CJXXc-+`yU{8T}kr%DH~b&do~|Wdf87B
zc6XTg<fh+|l4!A2bK0`gW?UD)Ba-!Ty`<cP?aJbFz27l?y=226HCbX>+rwGvoiU$2
zHu?L`nLDHJ+a{e)rjfN~ziWbL&9Ywbd&l#cpOr6gcP{@Yy1z`~{66Md7A?Jc#R|Wq
zz@`wNxY>?>|6fo4_Waw{Ck?ZFFZ40oV}E*FUg7_>N>}dB`nO&)dKKw)Fn#!Q?bf!l
zB~dfiK$l(o+m?GfX7*IixAUtveZBYK%^XY9zhCeE)_R$GZR^Js6HlFR@M?+8w7O~F
zKWB2i`Yg9opFb4GI>l;C{43;UdAQ`rd)+hdH?F?-dhVZn+wO@Tn<TyKe7IZjtZjcD
z&pl|H`K!5|%d)D3>2v3smtFs2W*vPq)ns??+Ap<xk6lTTZ;`2$`P1`p(nq$JwzI0A
z`cHb8Q}lCng_Zq<KgaC<cYd`uNuT`Uw5QGK{qs+&AM>`AHfQE%lVe}bn7(Vb@Cn7|
zQR!Z7b2AV8Oz2+~>{7_TROGidN89E`fnMHq=hk^&mbfEy=bmwW<Hp19PQ8=;UYn4x
z<5=>+$p?)ypKYGb7RGM&$?y2>gVm|KKRw^@e8ZgV-s`rUb$n&3ey!Jd_gwdHsrIym
z-{m>d?YV1&e{}w3KU@Fc^M~x>tD7Y!GuZR^G5Q@}ADO{5W9OM9yXhaFwq59K(4K92
z_SZYVqTtP@JCt`=M_qim`iAig+ezzH=gR88UH&iRM0)e<-@pIVDOOlk=vEl-f44-_
zVe|al4gF64M9y;GS^wtAv+QTqZ~AY{=x2HTY2_Pzh5voe^goM#HrX53@_X;ONAceu
z{C(ga%N~3&rNKtp`qAs>flpd1{5ek~`frH2z!k<j>)@?7Z4aJJT6jO~%*9`S=RSV9
z{py^zC*S!$wrk!gcXpn}(>E{se*BH8yITA0=*L<;spHy~@%(ew?war1TYgz)&*ys8
zPlfx=r)R_^?SEM7w%O>X?FaP->u)HF%AVQyzjZo${eqvofBKc|wV!>7eG&6*?%qzz
z8J{mSn`Aomw;Nr|=9{Ioux4S<4C}I4Z@6Y$ZfUv07S4Z_H)iSeW9yuCZD$)s70ch5
zcQ^Fb$#-uf-@G{g>Rn@Tfz_UAZ!S2z)G2AZ-19WP`=p8S!OsW153X)K=Qiu@gS`(9
zKbZXB`Hl4%=k~GwbGY$S@~ruT`3LG7{wL3G|97>(=SN}zSHZ5`)(>@()|Kx{xiOPz
z4)?beR;(i51AI2_@5!(`eckwgVBK1u;LElDc&_uC^KO53r_jBi{N}npmTz8aKdX9N
z%HHgL$S<^h&!f6!$BOUXG~sUDeEM+q;n_E>@1}QtsQc!gbEdz^wDO1MH}0bSkMzI%
zGu`*j+9bZko~!=3-S@WtT>pjadUqx-Ke?~N^6b~$pHKXK;GP*|`TVBjftv>^Tl^I3
zzNNKCRhcC#<nvc@m2tk**=_#iGN<+Fi!&0qV?<+S-xc_ERykLB?m^pwe_PK57+&99
zZ}jF3ryOr}$lT7ZY6;$X>vmj=Y5jfpedEywQ{Q|wiN3izldq}2dH%;U@fq(L;*<6}
ze)fE_*P`C_bM%w;|DWqE?7fSPi*6QvaeQZ8Co`u_P1xGqBz{YWa+ziUE7<FtojdPU
z#7f7=maY0#D*FAh#l-Ii(zVwu{jO`7?|)hJ&TQKWX%-ba6-74lURqnr?+LlFe^y#`
zN%EZUm*(`y^?fd$U_CdSWk2g&{zda$_bYn-<NVWp=*Ca~jn8d<ud3QF`uO(w_-ltR
zcsBkP{af-t=RwSm=NC7JHq`Htcs6gXk%{2x4O*MCHyN(yzxLGk=32$~9+$7b%Hv&j
zeWJ<ZpSyx(AFtn<o^AGI{f7IWO2xE3J>65U`((rMTRCsH_eEK+U4BEqA$~H?-|{Ch
z*?0a2+WajyN#DOCdDh}{>WTXg)VZI!8Q&0}{Mzn!`L5qjKG&@Mv_J4)_vFq0Fa4Ft
zs+sjn=}+Chcl(ar^Z%@2A!@;FJ$q5J<+slcaUIK8cFa*SKRRb0x9sWiZCcL~&N=f>
zl0J4#?Cu@oy~VKyuV-pM+4lU#xsA5Tzc0TI_?Gd(Wp3-gl5a6*&mB!zxY&O6Zg$1^
zl{>Cgt>mA(*5uvi_Sel19zRHLIp=MX-*BI~p6MUgALifYXK&UYNN=4xJu|Orn>>p>
zpWowK=bn6B%=}iS%&tJNKy#sS@VTveQ+cer8?+C|g{m*v!5+PF|E>g!?CVQ2dGb!?
z`Cq<TJCEne*6Q2LvK!l*kDn@gdOES+HuBuoW3SJ#oNu4I>R-^&ziY0=PXE5?qmG^b
zE$Neo4^Dpku`Iscu43he;`OyR>{fm#eh@Bl>|FGrdHg2U_J`;Gh++R}z9abEZTrUm
z4F8Y+J~iR|?(-qvLcNl9eBAJS!sO))%bC*)WzRi&{UqoKYel_b{JhrBMkW)z+FqP`
z(0{|UcJ42ydsm8c(v?GV>VvXz1&&zN-im3~CbF5kF4r7+$1TSrr&)5$`hWkom`tq-
zvkJuu%j&hy-lTo-OMG58Yw?5S2lN}_llK?Tp1GT0+T$II3~H7g_YvK^H!Uq~j=HPF
zvn5AwY4GqFgMkF=!<54(S$h4qsLHe&&$X+UKIF4?Yy8|@-^<SHOi6vUH}l{B*Wc$K
zI%?+n`hFAFbMI-t9;<l&`&+z<zx-Nw&Cyqi`<}0z=5h0A$$Y2nOMknRm#%!jc~^Yo
zY$d+Wf8IuvX8U#Pmhtg#yK18*Zd|!6W#yhpf1XWxxzA_Q!;(EWVoy%<+9i9;-tO)z
z&%KQIkJ&|A-~VDAG40nOqj+1>=lr|k^v^xpwfo`pMA^z2d+jI7pPL++rgu!<dt1u-
zTd!EYMIO90ed9OTNl)i|C{wLgyJJ1u_<Gfhl$Cpg<uz|k3O@4CH{JU1(P_U{tNwmo
zxBm39j=0}3>mG&AHU6GZ?04}K?@YzWSLF$x%tD{WX!)F5T4%0Ryz)*-(DccNw_UmU
z`MckZyi$G5-7PiJC!dw>uirPl_{22XxRnW)V?uAal+SwdMshE=x#7;K#eZ3(-<`|r
z_Fnco>15H}=FOJ7<La%}DD$88%=iAT|5qt$vQpK*ndWmG%F3=kpD;Ig%bss1&fKkg
z&+^IGEA1J_uJ-8phmMN5zgy-Jm-V{&#C+BF^ZyF2-Y3oWB6NAMr8>`sqk?^#zc1c>
zX?fz|rHPlOimZ+I-Wzf%?pV#w)ko|m6-y*^mjtWmAKkc?f76}YCC@Ac*Se}k=T6Ky
zdGGjgw~bHaj=!jVX87Oq{@S>Mcll<_pPu*J>u*$1N!ll=&XcA4%hy#j==K$8_T@&N
zo?G7;I%me!*TvhIb1s%wJbXX*&b|rd4^mD}TV2rg<BP$`dHLHjXVk7vDK<a7dPdUW
zbCXi%S0*;(maR-#zrJV9`)&JTBc7kxp4XOQdH3(eNi+A~cy{N}36RGsmu^;(X1j4q
zMECBpHIM%O*D*HNuQHO+h}8Oi__^n_nkAdBJ<o|gofqwG#<Riom1dOP$K1%>Yi`Yr
z*RC+UKl9`pzbpG4{xV-tUy(n1k^1Z66Nl|>9-g_Gc24wh(CkHP`49cweB5)|$$U?<
zH{JJ-uYV|dbNyvo3sBhU9o?87RI-kL)1K<;jalCf4v4v1luiF>Z&lu_+m|zw(>u3T
z;OFKie^39+dj0bk_oURT@pe0X&0RkQ$=v>>aQfV3mFmmyng0CynY*>bpL_DTH^zLg
zPdNX(^=>BbnkxDE*S&x4=}Y@}I3&*XDT|hL&=;TDKI8cbaoL9%qGcXlDmr(k=&miu
z>yJ2&Pn$XO%zm#TKHhIPZW;-P-KvuM>Geru-Hn8JzX#D;+g0_sgl80VuPs0AR~kNl
zCEw@mQ-1Ca_$f8jI&kKLSKKS&<7D61uJrf4`00A$zTU6qGi=^|uUq_N$%Tael3<nf
zTfVNdIQuE;-GM)LlXPc>7O&9Z1R3{Q)9U)}z@1vVJvLq4u48TEvnfQ*Ej4hL?A>#p
zX6_3+weINkHn!?F1xweKZ%w`TeU12Z&-**oinrO8?fHK~cHXIT>sK$kRTOUa{9f$&
z7T<-6{F~Ja&g-vEdp46lsGf13<0jS3pBG(-z90RU?^XAWhw~<_<vSG@XLNT;>AQ`a
zH7AANs+#q5bA*i4o73}GO*^%>U|Y)E&9-G`t}<!gr{-jAIDT$f#?LR?*KXUs@E~7!
znsWFZ*P=3WnfayfHae>XZ~1DX6+UTsiuFm58!xQxTmITMw_o<s+VZWMla@!8*|mkb
zx3X2g(fNG5!p>&GOv{A_<*Z{eUuQni*8To7_hj3#s(s6X>QApebgsmo9~AB)C$)3;
zYWr<YO=mrQzdr6HpStHch$fI_uVqVOGd8&2Kj{{J=-VXSpTG9sGQW|W{?lyVvMWE;
z-e@J}A7;ths5vP-(!cHS&7WzLc*P&(7aIGey<hY8=jz~o*>zjKu6wskv2xbayB5<{
z%L_}r*|_=Zx_6&$J)J3Ax9zc+<@+VdTYIPcEk3_?>+EkQ&oh@+{Cu7^Tj|`<+Yb%i
zZ?9>Ouh{=eGHSx{x-a%saew72*8MuYxBhnR`qSs%#n;uUzxJ$htF!Ufzqq<$Pvi01
zU$(ue{-UTg|Aesk=ZIDM2LDxReZ^nju6$Ja^QYWjhw!XPUslB=@?YEkaQ%O2;eWS2
zM&`WKJ8HPiV$;`usk%QEiq5YR)H}LyZ(WgWoy7gN_kl~-ZmazD{)QI2#_mt*9O2*J
zzS<skW~(`<<8yo4*^fv3)P&P}LicRUo!$N8+;8dUa`zVh^1B{x|NqGTkM9+B9CZJo
zG5^8jnoa&6Gwn{N|K^H+dHhey{BOpBjgQ>&AI@cX|H`&t>-SIhcHH}2b^k+s{rmpe
zH4FG%6y@JE2i}nX)E;m|{-b-q75UG{1JBI=_&nfH{1=HS-+0bD*`EI>WAeq)j=lF!
z`G4kKWk(f<V2vrKcL;xQisNWie9;)z;mlQcO#g>yv4Qw!1Nqw<nXNZ+@7~D%dxJcC
zfk1nKgnNO=@q!pFkNB7Be^VQHrZ^f!9P^x|Gx_Q!?{6pTEY;MXZixxGEOjf;`nB+^
z#nsIc)d%Cg@ZGy;U77w~D(D;UOExis7MAnBPXAlA|6%^m?f>@nf9<rhO*#2R=RBvS
zo|}Ns5w}MQ0d)uZ7rbD0E@sf3*rs-3!mSyKrAz0AOy>L4yJf<f55GgMolyI!bLMM%
z&FWQJ$%lPRQ|6RiXEchFzqmYg*S^*Ap3CYMDXYZ0zs`tUzyF2)CdcrXS~pijm$c_>
zn*K)hX5RW6+M5pF+rpo+yf(%Dgk$&Ch@Yn)>BgOlnxuNtQaWq#lRdo~H?A@}7<5JF
zYT64?v)gH}OQ+@CtlIlDa-P_>`8n&vHvTk=_rB?Ld&$z=?zh*twq5_0$!nc)eCxEi
zTe@#eaJpD#GHcuN&slE|ysnsBmYgVd?Vir5MYr0QMn?VqWOi@m-wOWsmmO;w_+L1$
zIW_B-!Rrlub_d;Z7Wr?ojDBJK=G3}hGP^hLwmV-Zvq1ktpxsLS&#C(s<$sXfw>bZ!
z?Y`ytpOfnrz5l>nxAOf*>AJ=8AF7YNXzxj$Q+G&(@2bCLpXM*s<wb3E=WqI4wn#Gy
z7M^k1#`lT-ob@MTPPAH0^4<~R{xd*+RdUS^{_7j<F1f$5kbk?lw5H-`p_SsEe=c*M
zXwF-tX?Jz`tCacgE}LGh|9sTy==7gPbDz2YUE%lraa~OM4^R80#($gQFWjs<sh=6;
z7;YllrTr!Ouf&DFj+Pz)hAUdc9H%B&M6oJ2+fNXiv$d#bZRmz|mrm@u{rS@i`(D}4
z<;m%PcdxBGcix?a$?f)?oeO3L-1$)d_pSUd>ksqKiFI2=+q}x@T(NoSqI1)Ft!^v4
z%6YtEv+tsFW?whgiJe{iY+J*kMK#(p8&Xbl-BDkiVk&i7>}Kb(Ps_QYvKL&v7@D1x
zT(it~t8UVky=8|3WLNMfud!SFUcuG<mBy175@(&~{aaz5y!YR#{YjJ0U7dPkjdiIy
z->ba4z0SMBzdzcrG*YT>gGBdZjnf~(WS+<Fkxs9$e}7zF=lG`|lSLz0(<A5e7EbiN
z>C>|Ih8xqibn(J(3GqAIn16QMIkNo6q$v+p*F@(%{{6?}-P7fNLQZ`wuG4$^Q*{3{
zu0PZ6d#WBY3R`6`uQO<>vV~Jtfyi+$U%zJ}D^Jgyqscqt{QM;g`9CLKIudLfI?JhG
z_uicKx3a(O+M6gJ)pInmNi}K{@5YN}=Z@V@nVq>==XjCs{kkoc+YXrBmb;zL{-z~X
zX$6mmSmOc#?+r}Z8_iyCl8fG?dwZj_{bK{ZbSvW-M{}MPFp5a+Gz((xFzK%8|E-wd
zc-Yo-S6J68*3*nPw7*Fmxwl0>;oH>O?nB@9{%v?9mR+bJxy;8Q(|c3O6wMp_cVyCJ
z`>k^q`5uX#mZZ7kc2KU?yNxf+q`yb+`rFl&_^)z>ypfJOb983(#Y<&3^-8!qzb&Zt
z*eY-PW`nG|zjbE)!ufMIb63o8I+$!CcIdIrp+yyQk46gRZ{pE@C>xd-dSruDwu0W0
z^{p(|5@S_1+09m(x%Q^i;v3U)4QIW*DVTg?=3T>iwl~Em-<;2EIJfzyLE6VayDlEP
zbH^v1RR5{8>4(w%!}@<_%umwX|73bZ;0D!*lkX+FLwlYFta+@_cQC9kS*lFr4ZEMw
z^v{J{UDk;ioC{3vIUCnBa8__@dK}J3QIHS*C~T%E8@+*7dn0r82DaY?Y|@2crye(i
zOt}>l_R7nAXLyx|ex_2bit8-zRc9tucyi}T$<=CpO6iW%F8)%LtCPNE<+h8}&fRfW
zynbz}TVeY}`0O=zlkoBv0=5z%7v?v6IX(`!u<YPt$Ib^QAM9S>C?L$kFUNQN>GcOc
z6Y>n~JGjNzyqk_B%)BeYv-wb%*^R{Q5oaH4xVmkZ+v@!Dw?!|?P3;b0QJSh8ny}+c
zqN&17Nw$M^FWzm<m413-Tkd^@Rtt7cu8otc*SxiLjBs0a@BGE(g-kp(2bv{qK1EbS
ziawC~uB2b{mP@MUu=&Pw+iS(8Ywmw9yuklgp#6`D%|`<z?U`Z^WS*z&F_G64-z||j
zeV0hd&eMwFNB8tqW+(SnnJXU8&2w(towU?x{nx4~Rg1STJY>B`xOAW7YO|EE+#XY|
zFEQsQUh&@R61D!T)RpMHtzY8aH~$NifBZXg{=}v4f60B||Ld?$Y5AdFOXE*mi~sA|
z_wS{AkYCECY@y$lM-+JqW*k28ki$LTY+&D_&SV*9+vApfW_|@qDQcFTMt+4{f9E_i
zv9dTUSyD7@^NFW2&jSuuo?ASLJI29Ud}l|RUZLhOy<*9yF%P|ZVxMY7ZFR4{xS;k{
z{}#R%4hPsv1uiMdHkC%S2QE;yYI1W`Zx)+-#WUo^6hFn4#a7}UD(CY5n54HbI=qBc
zGxqY<ANMZset9u1Z=rX2$#eV5PZ?ygg<K!ru0MY#CFe-h#<^>9qg%J`J-;n>o$k6^
zv1{9MMX!IGyMD?q?d?`Ge2VrJ@ACH+Pj_4$w`lr}Jt6u}U3Pd$m2NvXt>@fD%Sl&v
zT3x^Pxn$nj=dWurueR>G@GL1-$uf4?X`h>-yAD0`ip^XfyL9!E@bK4JE3cdGatqoO
zcHJxL`pc@{@5JsZt-ZE!+pKrDOJ=X#{<<vMegVJ7#!K6mOr5+UbpDm)Is4Y=duwkI
z`Zc#seO=KbFPXH|8LgIUizd8&yycX{e$5h}g^S&fi&(W?2)t<6+ZS2VvoLw>yanoB
zGP2p32RNlREM~NpDwuTH<berqfI(Z6p{wIwAN|P|R?99J_V>A#oLQVKD6727LEMAK
zRC$+&xF?VA>0Keyy-ZIXE8VFl{$;AguVoj^d-jFCnC*C9=GU^4=DZ0_c~^RaF8S^{
zd2M#-<|!9!yWSa=^e?LRDSzR&((!N9mHvfwJ#qrhH;raJ^Sx|*(nWu!$K*~uql<oO
zNhyo^eZEZU3^OuxR9kl9h{a3^72&%ni<*7DOzzZ}`9f7VHzldbXGub2L#o6y)(F1C
zo1~_>ModezWH=q^rKT{e<;5DwlP9!JHoSh)Q}g76dq+*n0&9l5j4!@9m~-A`D#>0L
z&3`xQ#Wm-0hFyg(_#Djn?z+8DTWHO8SEc0mg6M`k(Gukgx{lk~cCo&==D3}4SLub^
zhIb4l!WU#4@|bq{zL~IiYF+l{sJ+*gy`5~f_US2(-A^@kKV9*5+V;~LyHksoemuod
z{Y<0!nSkERR&Ta~lMIrw3X7RjOzf2xOO{<1n{>-FNYvhR(v{4ZQ0>Mi1))OWsRf}j
z;jV>KkB9PwyB36s)_FZzZc-QYXUYM8!#^U2{2A-I9xTtABl7It%t;4)Jv?R|@$4?S
zbzHG%%h}IQm^4pk?L2s`?C|!={yXZnb3WL9T4AgEX@-q*oZZy*DmwAE7k}!l(GUI9
z{70$w(`?&w=l;x*dGTqT!nvt;8%lONnrFmI7EQkNXxW`9a}sJFD9mQx?W|g`d`Ixx
z*UNVrt2~*u^XsM8W;=8*rPuyW%iP-cVOCGH^^XhBroU6SJo9ebe$Oj^pZ=S4xT#>m
z#+kgwQfxLHzgD(?%h!+%%h!J2WVSDVsr!k2TRz@>bFXrvOlIyMFHN>^)^N{zvyKWy
z>+^=4`Zv{jMbG6+(Qnm$ZCE>>Yu=`xMIW~9eRcPN^XxMDsefO-viosp*RQ;iuXoq<
zuQ2(UHGhiL{rA6f`F<zPUR-zUnc+W+%x}|w<Ziq7vi#PbTX~M|5&k<5KI{F*ck*ZY
zU++s#<G<;9pWOfG{?xmFtN$tAyjuUJesc4l_=P>C=W;Z({~M?BIZV^@6gjuc{IlQx
z-oNi(Ec%$Ue`D_Lh-913Ik)vcocVZbTkh>`dw*Yz^mCna;>7-{UCz&~XI_2oT)See
z%IPnG^WUaNPoMw#`J&0SMsqdoZnypNyPqxmc}j}xsRJk1e_Orw+4i5gWj2yO{J!Yz
zKfS7M`+evCar>vAtF4p&+Wb%9ulwIX>%;P&kH4^Y)ykXrX#TSL1N;T;HvY9Y_=6`;
z-dTL5KWf6{c(3Q7|Frh)I~VW&pZ6czEAwBob0+M+dH>Ay?LVSl>^Xkl`LE*t4%PoN
z>gUX!|H1#l&o%Y)es%v#eU<;i{9^vk?Qg!!S@*L3`u^;LCI6DW{|W!+oIC%w{)PBS
zTb@taQh)la{qOlJ|39iX{JwwEuJd2^|Gs}xMl9{>hl15Ex>?UI3bvl@J@;aZNbJQ{
z?d!=La%WP`*Q!;=?2+_+753$(QqZrBJAM=v&f!hIW<T}Z%R;tOE^hzVSj_%4$D;k0
z&8He=w<8>{CK^uqz4*j8@8pu6=X}2zN{W2kmLCzBEg77wWxo74kCk!qveIL3X878w
zKl`xxbF!V+zvt%;MV$D*$3pCLsi)4u{W{Zv*LRt|xD|1HF7L*P*0Ym@<F_9Pt9$?X
zQRS8M{m+Y^w|-PAiOyNP-*#K@dk&+3H+_5myxDi-xbHWCFZ!LQU&IK8M=HNp*-`Hs
z<Np8Gjz(+q<7aD9yPjwVtNgwFxa@Vxv^|sm#THIKdnTCetL?!vQ@@M-;XgC=PK}1#
z;yR;wOX{rVJv;aBhJURA-=g+M0&@=+wphDAPQCKRY(>2EdiR;W7tD{(-g&aEd3}EW
z_Rrt<E8p`xyRCVBj<t><cOB1JzTG~2)^2>&Ju+nueAe-Nx3$}2)!N^RZ$Cf%eBY$=
z>!zJQH{txbU-o(DC!Sw7>Ac?L^Yc{l=Id{ttC#n^<M#88+qRFsi4<19`k#6;=#Jb$
zyX4l=j(h6e_gY`<4ftXg`9<%@+oww3iUg}ScI<UJ5~rBdFR;<Q<Hqu?8{DpM<OFx?
zCG`t$e694&La@4}!`AnRoMMu{@W$iaAZb>mZ%%^MjU9KDjlOprP&TR#Eb}htKiklI
zPFn4i&x7L6^Ez1$E^(5Vx_mSKw*RB{lULZY*>`fzT&ZY$rS;5}36ia6GSogNOsrgT
zqGsI*o0t^4$P~GWCwrXIz9^gSQT;q~*4nAMLQ8jles`)*eD!&;)yKQ8I)9RTegDWj
zg{1ASZ$4ITcAbBAnyh}_^{ufhoZhd$VOVhGt%aZJ<tgtn=Uno8{^j7=;uYtg@@#0H
zKY4kE-_d8qS&#DC*KQ~cyHVwL*z5-P3Pr=OWw$f$ZtK3ByxWrZcCvU-{E?U2yWa}E
z@_t+NF8*Mq!Nhp?THEFK^EODY%-`f3b}O;(wxHkLzM{77cT4vkiOX$1`a^N%#~0QX
zq7(Otylnr(^+7ZH#&S#F-#nLVo!{hl{>|OEKm5)6&G(C?zPbAy{&z%k3iG6*hUIQq
z5%F2emhox`w-_B%NNwUvZ8~RS*SlSB(m|G2o|$r1_PUEUTj*{}-w+ztrRRP6g^qvr
zitEd^UYmby>DMck&Qnea9KKY1iBJ2|xh<DxWrpvX^NTCU)p_M2{r5|A74oHjM1H$;
zE&idrSDwR7@5OJHUYx_prez+Mw?s{HLC*4*8|E%cv+jLnVld(RrLd3Mf3%7Nx4pgo
z!?a}G*Vk)5NdHx{GXK5y%FKOB@4wp~eE(s2M6AlXt|QK_kEVIVbREgvfB*e+wdlMl
zy5^^*NuSM;Q!)$xTUbBmxBrjHVI7xw@4x@OR%AK1;4WRK=}INuzt==PGx<B+@;77s
z&izflrvCGKeeTJ!wCHo^_sP|TAAP^@QTh5GchCJU-nZ}a{nVxVZ{PRjJ^gb3_4}v)
zf3T~Um;LtYh5Mhy&lXi{?%Mu$@;}Yh8}xtoh)(#&9oF?l_kUM?>$&THvR_=kxr|rz
z_wA(mAKU-l4%1+q;>Do5?aTe`yZ#@jcbG5Z@PGNg;MG6R|49!ER9m4XtdiRF;r>tg
zoj=w8PgZ@}yzA3JgQv}HpBz`-jagW8VQGzlPQ=5Ag;OR>5sJ}Nyzzf}n1;5=6j86#
z)_)Hc>|sKn0Qsk)3}~ozpT-f_N>&F5O4Q==4UA(9fFO^~Ph1U7ULtOb3IzXF)ZE$i
z^kV4F;?R9IE`2dm#jig(DqHl>@uw)ms}EcZx&?7o@@s3aaQ)2OKWEF7cCn)KL2;3%
zw7qve2@v}C+V^r>Oi_ExrZ)F;3+Hu9>rIk=H$nPZ!C~=$boLUN4{lj%LciSKXqcXJ
z?JW*We|}2?jI^JxI=PeWVayr3qSbyoL#N+a6`i-$H*f3X`=3wA|9>4e`@ij0lMgFp
zKdof_wDRnym9uJIxqezHJ1Ze>38&hnMO$W^3!0PBK4*oR`l|z->oz(W`}W^SpPe@A
z=u6d?s@vQrpY?oWXP<ofbB*)gtzTq+Ri3Kcw`|VyrS{A0FQ43e&VJ@5Zh@WaH25Ab
ze?RxL+R3cDsSl6coxD9y*?Mzq+Vtx?)Wvr%EIhn&_ipa6a`)G5!N*rue7JJI=E#Na
z-+#~b@3(*a-Xm4~(Z`PCigNP0-P2C${nKx+ws|+Rz51E!))i{IFPu;MGI`Pbyf2r#
z>vsKosr9Fj?{Ci{`RVW5<WK7HJXz$wXnm@<kk`b3Q}@Fiomf@2NO0=*)pgfRo_q2A
zMfppeUF&*2XLz;sdKE_7xEr;Ebcr9~RypjcIwz#-@(#V5g}SL9{Z1MLYwpwD7j5(;
zr0adJ{6rr6wTJvyf4Ds9$J8IeFI@s{HCFMveqFp`t45a2KjVMFMmnW>)3g#-7V3mv
z^8R8JxqkZVr;}caS}E6`zcO>uOP#sOuP27FUwU<c^_HsSJ*|gpRimz~y|nVS$q9yU
zQQdo^`fq3Nmz%c0{YwYW<xU6nSub34-ybOz`s5U&f4Hjoo<^geN~L<<L<dD7uD}HX
zz9LEsLByr%FN~Z!);cIQ*{$I}y}@o#zsCZx*DG9|bhEA~1#r8Tvd$9Ba1-999nhzC
zYGOd2=C3_=`i(^<fqhYNec>t>dYbl4GgnU7*ODfZ;bwd`<4_IjUj=>lD-rc77y4(^
zvHZF?<@;k{&MC^5&VMoHJYM=^YMp9hmrBTz&aNvfJPves)~&wp)jQ4P;v|pyQ`$l+
zJcLCh7b+bNQCX-I{6+k)uTyg4q=%P%W?q=&;3}lG$+7=c;7u2Aw+zn(s-aPv8mIXz
zQq|p}a`FEc`<Xo!+{bqdMXDSYi`Hp8Ceb_7C3%%e+Tlzg*@cFU$F^LUapc_A;#8xh
zlCDcRwZ4Wd@9>p1d%KnI^#m)YuV#nSJOr0l&3RR@>iEiY&u;&D9QD?1HQ(BAi>`{S
zt@75Ly7bEF=;@`Nf;+38Sn=<)dcE0h<>T=F`0^VQcs(VLR*BrsR@FYKryU(RP3cyg
z%WHvL^WE26cU*gXD^7Z|;mXC)`H#)?cIO;YOVPaa)#Lh2sp#T6yYE(PzixJeEwZaB
z_;yZo%Jkf=xkb}*x4+%Q&HnvS!g;SSm&0<r%QJ2)ei&%-=0d^xw_9t2mY<Rnwzf`k
zU((mJ`(;U2kFC+Wt=Vs*cAi?d`Sp^HNwQw=wn@Kro7q3rHtgO(v2d3&e1_*2zvDCf
zers;o@++FPw<1zg#rNtbW%Mr$uD&BTeQEF9u(F4l`TjS9gWRw3g;rNzn>V#A=k3O=
zhp%aFD~sXDOujyKwP0CR{_WdEn%AAP-rw3C<Z^qS_o0Pv1Gl{0p%wJ|jNRm)%V*EF
zR#tfL_{3JUa=qid(-Xe4o~V9QulCkyd#?h=fe-VZZ`yYt@NDDO!)NxaR8Y_}HopF<
zddkDhQ*R${;SZegM~OXLeV$;=|6dyKYfn{oep(lFPkG9B#;3N9mHEN<W=|<!ym-%d
z&G)INcHjD_c}e7H?4mu(HQwKzQr`P%-m*RE8u{*(>QlaRJ)IkL&-YYy>!)YE3ZHv!
zf0hpUp__MJ{^FzU86TH#sqpK5zGcVaqq4enQ^fKwJqq6PLr2%nz5D#7N5vp<_RK=}
zZvIP;K5wa*EGEC;=<F>&7<BE9zWphicmDmQr@<vVAE*71D}A>^a)0}OonE^(CS9&Q
zUUT~&+IRoC)jt32Y_rzAPKnlBw*zmS3%b#<!8hGH<_Cj#6xVMNt2s+H=qI{(C*}v<
zNad>j_hB#JX94S|-`D?{=CWk2d>bhfdBy1N^V~^Iw;oN`6s=orp!8BG+o>hcL1NJ%
zjoA@eL5935SD86&5nRmMZPt~sSR?M6kIL^&`Cdf|$G_G%`MvnLBxCyG36r#*OnN!-
zbkX52r+jy=^v^q)YkPm9y4s}WpF-wu3DuhD^>l6L)45fuA?x>;ch&@Km2uQH%<>HM
zZi_OyGHG>`-ONcf)8v=w*t^b_J{V&CuJJX;vc?1^mdg$Xu^eh{24V+A1bxh#G!<v$
zu?T~Sl?l_nyf503`^!nb%J%(=v|kr|deVxnp7E@$)3RCGT4H6hJZhIf+;w&H5KGl5
z!VBlL<vnFx#Q&kX;TrQCxd$H^tl4*1IJD}9>^N}F#@ahzVY)wO^`|$QiT<2gU*0Sh
z7p)4JvB2qkjqtPAGvAASzMHhqdBujKKJGJKY8cBVFT3q?+4y*i<vWApEu2+p&o|CX
zx8l4kd8kTvnZdvLKEDrS$*@1L_#?wn=;W!<<tX_0Wvkg<w$qn4ecyj<Uef93y0eap
zK6v{3b^6KphnqLwJF#+YQQYb|7q!yYoswKtWVC8dl2-b(Q=Tang(2sprfzmleXGqK
zFZe~%@j1(0l^3>6ejLA=7Wi{Yb>~m7K5F}?X+b#4UbPpjj`sz=XgY=;-F~{ZNlx&K
ztYbfimEODleoiS4E9Dm*3py7>zwvo<XVEkFthxtJ*{#mKuvq+<Sx>I8@Z`~8J-wY3
zr;bXBXX~BY5i$9FN6q__-|y^w*jaseyNFFu{*4{xHpO64JFj*5(X}6@^ofdVi-rC1
z{xkby{;~a%pVPLi&iFp5tbNXEi|a*svvWnSYMD2zzp?Gl>+hT6_dJyNt+wm&?dMOX
zo6E%I|EP<+U%7qb+4KM7@<SHxxXWEP-7&ELk5zMg`i1k}fA@Ux<}J_rE_HU#;+d}(
zPHT7iHk<F&_Z#}wBHzn}*G6aGU3u;8mb{Riflte{%vaxuo_c%boi#<)Q)h?fh3t$3
z39h=crs#a=yPc=rhP-P$^)~d~q8*Q;SKL{zWxndp%2T~s+k?THw}<cCd+Kl0o$s<M
z?l8BVeKB>%)Q+hgQzN#zuROBcWm$g8FSliullf+r^n1GdL>2y<;@Rn$?&J04-u3yv
zO}tEI31_%2xcg|?`h|fD0yXk}Ng1(zy&+;=>mA1GYoV3*Yu2M>>lGt4zzls6^IGdw
z>op;q6+7CR95<U<tyN6gQG8tdg+!P1UQSKt!o}r(&iBr13i1{1W7})8H1mRYq~_5_
zV*0BWujyN4b?TMIt3|DPT}O4})^~4GIu)gny|7qUBs3t*ar-ZI{_PdNmTSNJwCGc0
z#=Mw2PgA#EemQ4N@uEYKBIZ?lx4jJU4Zrg))pqh%pY`dR=FNOHGvdy>R8?WqGfs!U
zNU4c$uMXU<BjO#Vvpq^RYijXYq3+vz<Cd2EQh7Z&Zf40TmF!6?JU2<5%u-o3F|OCe
z^wR4IagASYDQEYuuw8abIjeu)8b0gFOm+L4C;Q7j&CHc~_i5ja!`jk6?y&K_{(kS#
z-H1KyV(*VVvfWgwpL<t3x;*i9S?*o-X!DXo?9tb6?aGcWzkluSb++u>4-V2c8|uWb
zy+8D;c3Yi!+56t3)yW_Aa_+WX{vRD(p8Q(w_Ad3XcU!0K-k2tS?M<uc?hR@BYa$D-
z^_%Hhyw-o~yCwhNzS<4>;@{pL+7~Ngo+0k{?dCPs-(qv_-jCXraPv_8_oVv$r~cJO
zD4yP&n!9c7*==(rZ_n(UyYlUsE9cI1g{v%1%&lpbjhrES+i0`;TH8!r&rNbC^Hg?U
zyw#gx7}Y)T&0*`)8@BPxO^pygec@KiHK{GFf0MuMPyTQH?fs_u!~b}Ho4>gqQ1ASg
z_iKFMf6=e^ga1$aHS?G4`|lO|AO7WhZ@%aM$=~z$-2d>e_Gj$GFQ#{om#p6zS6qAM
zYwn_a!CId$vtA@Gx~?;S!=ALCGae;(`D?}n*Z6#_3Yc@>bZ2(a^)vH$(tanIeM-$a
z@<!ILpL6eH@9P-_vyOKj*X_5KQ<qbh+iv4$lUKRtS>fr&eMdS$@Stw9aIJ7Hd%5+y
zZFgde%?r0b&Qr=$%JaTsTF4%6y-#hQ+9tJS+kD>6m^I^;QK|1`m&<+2bbYUz_{!vR
z-V!PaFrH{Mag%DQQmRtw=@ZjBIy-c^Z(F~Y-M8^WUE;%hotRav`7Sb659f5>-}z&~
zk4v8#C-yr1ICjGP)&n_BdE-xp%KVZ)TPB{D*r~N|#h#^)qm}+CJmUYi_Q&=|_r?F&
zmi?-CJm|grzqrnxl!vEY{_p9~UjE-$FYdQo(JSv0n#%IVpE@QUuX>=VIe+q}jdD9K
zFo#z?aN>^<EOEWyaY58^ae0e5OYYpO&spxOWxRft^X`t^o%v_?Ce5%ue17i3=lAr_
z?2WH@sba7GF8a~Bj@?S{Rtc25-g$E7zentw)!prW|K#WX5$D-=O-TQR^*`@>TmN53
z{Mhwt!;0;l|F2E_f35TXwR;zG_f@{-zxyovdZTXipHFNzq676CpO?omz5m(&?q~nJ
z|0j3UF58~#k|^RQDS9I(Kzv0zqmXga;*E~e3!96kPt;AxKB*NOC$4B4)%5Im`8nGK
z+1KyvzV`p{t2E)&vn#J3+q(MGuHx(KPD!8NTllv3``(WW&F#J&TYhiHzwqa~-}k29
z`?1e_UghJjM?R;;r9Sh1F!O)WV{ymT=kI;{sy}&^WQ_L8Sqrn)g`Q1__q^KE&$ld#
zP1t)?+J}uxvfAeE**MvJ&6~?nuV%8FeZG(uX7+jB*_svU$Cjka-8g@DNqXD7pLeFc
z`w@M~SpN0Qh3R%_CHG&=T$s+b+gpBn_<5TL72#z+6p!DIc)TX1%*^uklSA*srtOS)
zmNav7s@^oq=x2wX#ue-o5BoLiDDSpkN5Z~?2>VS}XCBSfDcg2q=1$%-xf|~FtG%wx
z-Mjwof<F7a9nx1aPG+00xH#{6Uclne^=qr%vYCF`wN&~_#&eMHEs*fp`mE3MZ~aj=
zUy*#eKI`Xso&T2it5g5a-{I2xu1bHSLoe&R#Kv2(@2`bsm0aIlI$P@Q*Sv{`xHQ+q
ztajTI@VHg^`l^2O-Sc-o(q=K7J>_J8nslm>f$LJAbyFeih}0mp=ICXdwIO$m5+``g
z+!LUt{7^8}Xv#^qnLI5;hixVs?F>^(PFh%fDn(&>mXn^SxbKgr7tD3@znnZ^G}UhB
zHFf2OQnf}ivSt~av+W61?OE&}_hRxw|F~C^8*8;{jlP`Zt~FAtHJXv@<OWvW{8X*B
zsCR}|?I)-CJYPayPCozjWE-=(P3a2%HoKcXH5M-?AM6sob?fD1d$8OE_4vgbVx1Dt
z{Oqz+ul@8udHT!A?7vbL`?D?nSN8tz{c0<RT&<_sZ??@2IrUsC^}}23eRD%jF<;x8
zc$f33=+sR|t0Z54)k<yu(dBjX(Y~hNM(?zD=&zm<{iVF=pV6<^H-9uRc6;q~ZE{_j
z^D!aunSMZGn5K13#E+j&OaBO}i_N+5dUEuZ8;g(ji1}Yga_rt~bTjeTBG0^u$&P)I
zlkYq_F8t?4_N3^0b}J^{S3D&bC?>n<=+xHj{4X|r_{MwejKt>aiq=aaC!}3dwBA#B
z=pp-+$bj_q&i@uTZ{sjgz9207iIGotP2EE0Z8J=Ye~X_mQNA44{zl^80*7r8TMhm=
zHr{!3ZINx+3)98do8q{u&f3%;*f8@szfJuG>HX=yoA2FFy3<r({QUldJ7<2f@BMf%
zzAAaaImySq6}ravTCV4Ph;qv+zBk)s-Gv=Vmo_m~imsczBQI&E=WMQZv-e%Nw*Gzi
zhwb0LpSyoQ|Kaubzjkz+9^Yupb6}co<*8KhlTWv$T>avaCACV;H<W+zrMfJShcS-R
z8e_LLT63uXPLWO9)%?Kd_Rg*cC#9{<8w*H0yZFC${XgZC`--R4*#G>e;axZ3kAlU+
z_LKb1+5a?tdj3$g_pTGKn|;51-<+4H4?pogIp0k<U+8^{ZN`m!)q3B5Vs)qYtJm}I
zzixlbGh_Wp3)xhu5_OXd<5|78KlWaH_v2xqc-^ng3oAWeT={&_XZE?RFP&!V<+!C=
zm7d>y;<wdThvm<#zB=@)J>2_bew+Ni9GOc7Z(I)F%lp&)VcDlEvrh%*Yx!@@N%Gz$
zzUv$RV&%WP9<P1svp?-#)V6$Xd!0>5B^l3zjpxt)>HOaC`Lmj7bK5NE&wR_g+1B{>
z&YiI{Zp_rYYq->S^32(1W}dV$n7nhQjmhMle<QPuJ{wGymp*&u$sHfL87J@j%Q<eM
zwk;#_+ed@m${D)~W=*d(`W^D)>3qJ;=El`KZ(8#Ni_g<A&1b*){LqrKzEOGW_<XLM
z5s{s>sP*T`v*#DyjmRo0%Q>31?CFI$XXai!|L<$xSB*k3d+zIh*B|!(uNL#&`1*?^
z6F)oOx#CwW1Jd2+GMDaio6B5UcE$3;vjekb^ZEAN{P^s^?Dx;le*c_ye75jCpT(OS
zito*t^vq$F_>!4!=YPgccy?e0XL4DIWx><eF_r~S4@{K}-*<4TruRK#d)B}_pA(l_
z_Q=eY6)CxS`6>4~KCWYL=E{mZThf1yuPUA0wWRFA><Pcsp6uh)R4UE$J+YE=XQq?i
z%FkgXWd-_H)*6d8H#a$KXW6BCA^PIYgS{W4A8&Wl|9^Yo#od<TB4z<MBwKk!%KQ@7
z2i|Z<OcyZ=h;UD2ZY{mo_J7VHD=zEh8+L;fwH#vOvR=HQ@z6d0MA_E8Zi&qGzCW@b
ztpEH%=fRx)R{u_&$W~Zi{HdyU58J0%6RtbN-MxK|<J`$?r?~Qy*$V3oD|w%k`o%F<
z-c?=SxJM79xNpz7ldnxbNu5}&y#D%$*K_u~n{?eF?)jP0V==PDsb@?Lu1glj8iXH@
zVJ<E`Gu7bw>Mf=PVTU5~1;X4TG!uO}v{ly_AClsDUAnDGxoY2!rsZstUU_J#uB`sF
zMS11CC7)i1JYE(OJ1N9J$kOxc#ZEW>An8d}5x3^KJ(n`~%<>Mh^|bW~vh{qba@G6E
zZ<VbRPkT>#<@u`hMdkW=OY*GVYgD{STv=;u_0{6(%DA%oQ|@}-ynFhcQ<=R_sBLJj
z%8$cBe?pq>FIm;TGE4g`cji9zv)qSvc}CbKK5e-wd~Mo>szbZP=l0y0^2z(qE6!}^
z2=C5%uZZYFub%$%Jya#1`1E4u$xM|s^ESjOtg*4O-6=nJ-kmD~-iL0z>TKFvlzXxG
z+O*Ab*JN08zy3;=oV)5vRLb<7zh2~|O3z)JGc)^iOuo_eX*-Lay;@v6t@@(nX)~ki
zti`bg*As46+}^fvQ*O<jZ65`1A4~Svu*rX3ar@lIS?VHvIda~!k6WAdtDE(ozhPsS
z^?65;)#o{XALsr){(4@3#irI8rC&h@>b@*(nEqymUB>aR6J*14k8ka}x322q%Cl#d
zy>?x0X8d~{|BZ6nj9|;{@1t&%pUvHVZCmu~di&F&wVDeyUe9{FRjPXJwYcou^<TU8
zUb_|dTC{rY^0({t+~ZjyZo9{B>W{kZ9-DMS&uZ&SiEn=|uJm<Z&n(Gf7OsCQW^L}e
zYu`GvSM6PJ>tI;n*=>8*J_>HReN)#iVf&9I>D=oK^3%`%h}e=|bE}w*UFXim4+jp-
zog49a|K<6<zh+)Y7p|SQB;I4cftM3=t>&K(+AqTo@$XNQ{&4n!?aaQJZE-)temvZ6
zTQ0Nf$mJvVx%WT)e))aB+Cs%TLoX-umd%U5TwkcTY~S8V8BHone$ICnj*mULWLpg1
z-;ey?w>_S)ZKm~2_9riy7dvFNX}wtaY?=0vklPn*&v==tUacva+Q05o;NN?{EsV4l
z$;LRjxuz_d)wWJJ;P1Axw@jI`I94bvu>H33#`47Z(`xlL`yaN`{cZB*@+SYIU`Fsp
z|I^mKU--VvD%88^d(>3)x=BoMp|7){<XVw`dzW3D_kwHol8~U!9)Gv34Uo-kJ*G0r
z(8EhU{N>_h{o32?`Q6pS^6&q?a%ZFP+p2XN+}tF;R=+DhR%58xEg9UCx#&TM)vX6H
ziXF2Q*17DSZD@VwhGJ^_EZMS{dQDT2D*>OKWGf#k26-&%J!2ZT;(n^~<VlB0gJ!q|
zX}pP9H_>VC&P|dF(^{qpiuD8-9-1ZiO=4kc3#;;$o&ZCq(;TA8YZjT$&~}Ts?C8y|
zZI$sd!I528JS1kraaLXNm}gDyI~F``G8H$8+3={zR6OM3?6bP!Yj!5|b4TfA>_|Au
z3Rc^7uOhDaU>Ap!(hOloXO?WGjLrl{7G3TwA_0L1W-)!!Sg^FAi|L!jgGvALzy6Q<
zumAPG)Bo^a|0n&kzxIFazx`|ei~rhx>Ce<>@!9`u=iYzur}bR^*1ul2&2R0y`mOrb
zzDwWM&ddK=v-F|%+J6h|;$M6Yn;$-F&!vaQt@d1a*eYgwalZPm;`m~@7iW6y_AKQ0
z_KnCo)T?&q#evB$);?PNV(lYk*&P?_r1wsLy;pc|`J(S;Qu&KtXT^rU+!b{__G;<W
zb*oKpyKT-jx$U-D)GBxJ<*3}S*XyF<pUzr!E%59A`**f(otc^%)+cnm>QR(THM3&j
z-`>srDe{u4|8)B{&ri3P@BO=3y8VA$c=ehuZcBMDZLb$}=3irSppz{kvq5-g+^MfS
zWAvAnYA*EtKEF37&h7j<-PB^u+1@K-cAd|;lWw-ja_U*_n>G{A2H%W1`K;5%@9D=7
zA%E3ErOsean~D3T-tk?$-eyTrxm5jq$46m8=2N%6yuI)Jgj2U%uJxt94Y{VasZ2F>
zdC<15vd6(cXPvmdvSzNwHJ?p>DzCj}&GWeIed&u!*0N7UO3MBzPrSI^c^wSmlJh>e
z^Uv+6HA~NE$FlD{6MbrrQPsWG6DxOaxjnUb>73c8Hz$Yt%h_HJ_1d(Q$9h^~@y@B<
zYl4!V3T10<>{AVU=eKNPgmGl4&eF2G8%;i~oZ^4{Q>NZbuahRzeZ0S`_oi4)^J$-y
z8E!OnQs&E9c9Yz8Us^H6ZK;XXG`HgKioGVcO5b1fSRBK2RyE+IU$Sns*LR6t7OlI<
zChrWTGD~jSx+zaCTN<d@>-Al<cc;}PPwkmoCV6sist+*IO}RABN6X`{;>j%&eXJ*C
zx*Lg3S~<ao`{Wk=nS3gj_oY}(@M%raQVG_bDK;rnaVFQvkP}OS_@)Z2nBdULqNQ@d
zi%Im;vT26Djnw|CFHrf-!%)GfbAh>FfjdLn!|&a>w|CswmTPT!dt2_}S+};m^~=3&
z75!i8ybz<=vblQp2~kmTx4UkiXqq`$bH0s9^{PvT%sUDg%@0gucywZETb`Q1eA_!G
zm~GDQt~q>v&h)*1M4UOE9Th$6Xd<>fgl*%VC7X0RzLuIUb<D}n)Z=>;nQZ^iMd9O<
zKyQBG$OCbCj~wG3*zS8OuXn=nU)SD6cMT8DR1i9`yf02|<Al;TkJIEHx!!wj{ZF(g
zq~X!JijDVHm`l9&EmWN0!nI;~|4E%B<=;D7+bcWyf6V)@VyPMMvCaJORDnqvOB(Bz
zZJ6OJ^B_#_VXEB|_J7km=ZG$0*|bsbl^%Cejb~uCz;Ewa`cv0m6Degc+_Y|?nMdH)
ztxFwW<>am4zVz#ww_E=<v+FD`#UIO`(SI5+NpsOe#$}sYn(rK2yyuYnpA&&IPq`lS
zGI^I;sM$Wz$<UX_sCQ}3GlA`&CDwm3v@i5YD+=wH#FO92{%}c<ld-c;x@5G)8Cjci
z*)@mG%S_*SM`TsX;pm5+ESXa-9WpSEI2YDepzi;{YW^o~^%TYOR?VXyu2l$nTBU9=
zI^+|!p*MR+w|Zss`5#j!Z<^A6Xlho4^qx+o=Av5?XLZ6h&CT99dwIp=^FMooH%(fu
zG$pMfx~4;IGS@B1!#QCan_ur}UtZa*|6}guP1B|;P0g#Yu90*Vn_6Np&2mke`t@S{
z^B>IOKe4B$DCfIs9{%v{hoG}rXo*qZ&NYeR<^}TSKk>zXR8LRUmUq>@{DJR>us7e;
zlER5n)m=rZ@0m2}{(0WM4q6Lycka2TU128oUw~J}<lf#k^-bvE@3UsUfB2_t=PT7W
zD)t`nlDeBymcE(rxX5?jDRI$-K`ZC1YSEGuPcLNOev~i6S-<S)J`0iKk3!~jdl%~F
z9o<`DvTuR5-4C6(W3wyd=ReB+^TOQ4fJ50pQSJDa8Ir}vj_<tH{^a<g2r2EP(ly<^
z8&!`bv2R%*{J%YRV|mS<tAa)X#~=B`bV(QL&pWdEhrs<`yru~v%Z{vxxRCSmj^P%a
zuw%0#<Yy;kn<T1lStwn9=-mx*_QxKZ&*t&U_6HZ5=^c5xL(KfK-<^K<k0x<PURQ|A
zmlqs6+P?3|`MSeR25iAeX=l2RZdAH<Y?(xN?1kRgT7Eh4Yx3=nGUjw#F4WUIHg$*G
z_D6X(9mhZF#BIA_b8Q3M8!<@UNUGDx+IT$rkax1{n!eJFhTD!rylD_CdGvpS_P1k=
z`?#$Sw?B@U(_>s{r+4(~4#Dk@<7|4=Kib3{y<HZ6Nd8fAP51o2ZW0D8iwz8y9r-dt
zv^d#Or!V!b-)7xKM%RuVyCHQp!_oX-)80aZzGEjXq{Sa+wg3M$yHNez@x>KV`j1NY
zboYN$-FJL_oieilPjXD5Sb0j2Pp_n*^|PagB7{yShpy@6-DtVZ)wry%bX#dh$pZ2E
zgY#}+cyqexJ;6$W{>PDfddxrC*&V(9<6{1l1Oc}MC!fB|*mZwc7a1k{o#}VoXcBhh
zRfM>7vUkr>z6?k8f9IbX?p(AhDPN}JaG{Rhv6&X~(;sEs>9}2}FL!LRUjJdyQn~ey
za%(!yf7Gq}CY^ggpy$w$8A6wn!_K_jR=MUP>qd)dM^8lvzfKO$=~a8vVpj6l|Ay@E
zt`0|+EBgafB}<Jr`>}O6_SiB1@1Hg`<>J{VR+&>oCItokJw9zp%GI-5c1iYj8Ymu1
zVCp%P&~wCq=coeD!GfLxDZ6Gms`E~Yy7Y%TbdsO>=9g(gch4-DeY4bfW1ia8vtM@2
z@Sf$prbK9c$@G6lF~?5(L~3ZKE`BqmxhP2Qly9Ym{?o-qD-5OvEDezi^$QJ{8ZtFB
z_G-x1P}wQIm7(ER!+ArKuZEb0>xO2#c6N9L#P|GDn|bQDU&H$!ey_w$r<gWNtxWr@
zKP#xaRjQB6bemY8fmLs<>&Da_*EU9}XU|<x`se<){%cl2ufx{P-umv^uJG4^YumTV
zUD@?N|M=YNRbkbKE+5-{>(XTg!FhHHE+W2bOc!30SQ{9n+`_h0Olndv(+j7ytGB+b
zZgo4t<r^LII>7K!>%Pd7+hlG{`<Udh+xYF5``cG;iI)6%dD`oJkvgBIe^&eT?BV=A
z%lEVY?U!GCDQ;TENuAWCyG%qj-*{4Q6eM;!&hp<}@1lmS#vF@2{3$Lko1c5tY|$~#
z+}(y!s{<eJs$G}cy7lY~*DEUyey%k;Z+|j%($BJjvS~lm&t7?)nh?gcG_cQGx$LH%
z?3q%@2Pt0+^t9hRU2!}`^XSuq=SzM*jOvtMZGLXP{5wm=z*VzX*s8Cz3YocR>dIZu
zw#=|REx5K&`#@=)>JIPU>-eg(uO{C;UiD-3owkD9ZuxfWT=y+!-d^yt4i#SY=GrN_
z*v$3u>g&IlOI~^Qcpl#Y??pVP77LZflvnup7YNC`_iMPkSfo9)&_mQcv{1z_aP8}m
zmv&hPbJwxm5nrkiepE9wWYr=k(KyX>yrTb9uh@S0{#!1Yb$vI}3jH?Si-v#Lz0waa
z`?dI4n$YxViQlY$9n`KgUex2k5-O$I!0GiZ(rC#WM#(egyvr_{c(#UkO%3txy>cqk
zQaSzUoH^6EivsmdrtVY<e>y8>y7Y{jt~)dXo~*kw`S&LWIi+_BW^0S2<D@$?&2-f?
z%%6&Vah%0>P5b}lybtoZE${SIZ|clW|D4;XyTx_ejcGT6qT7C*zsUAMHH5Ke{$C!!
zmzk!Y1;5#-1v6I5PqyT!mO6Eyo<pB8?F|R3#p!hp?>=SlSJZBi+~aHcpw{cqIl1c2
zJ12baoY9qe5|;P4?A-&ucaQSkJ&b$zxK8eYquirJInEwK8GbKO1_p)$t5QMtX*^54
zU3UMTb)I8Wt3t?(0zoC$PBG=MITf6jRJ<nXxMm%AX_RtmlCJwYo1a`FT0v`ERvJCk
z3RxAj)@^MSuas%##Z|t$`R48_d3|xU|9-~iXS~v;X?I#YgO{D1VVZt$k?QHNHBp=M
z4lk>X-uCv!R`Cyw&hCA4ca*(4vy*%JI;P!)ug~pe@1JK={qfb=-Td?S)%^bW`u%)`
z3WGk-^@U~E&s-MGzP+t<>&I<x6K6@7q}=ETOg`p2!zA@qPh{~k-H0tIH@iZ!ujSs@
zl6t!@w)&f_Mah#Jox$nnVt2fezW)ByR_X2U?o@wxadNZx`g?nRe|UL%yZrutEG(@p
zt}aK9sH!YolA7}LiKxibDWM@(ub7%_-BMce^^bA582iQp0U~E_*zRXu!d`V?uA_Tl
z{G)e#k2AzW8g*_y@?*>?{P`~LW6I<wd$rrQnY?aRGg+zWo9(uFR<MI(t4Nqj;8BzH
zthz}H+v9%qm=<3C^yvG;N8$k!zr^nF_{pR<XTD?G^=H3rjQ&Z->~TK&YX0$~{R@=-
zU0QNNx4-7o>D5+OS3CA*1#OPHx~!}>BP3bs`og}FHNv(N9MvLICOhj@J_&A^?9`>P
ztR?7F!NX(C;_`K;RxX&NwQA+UX;!Z!(^?oDomx5tRFBzc9}}wo==N|;y8pkzA0?YU
ze|oZXder&(=gzGa_kaBM^6cxn(a&z(nGs!_{!X5=iT#Zg0|P^X{pQ@O+dgK2(#NrN
zdsG|inJOMEbeF4sv@(5O^~0s%an+C4mf!pRV6ng5??<ci_x*mjJihL?vd0F2g@;<Y
z1vI_3NNjv`#Cw8<=O&SrmzJEKpy|C$X6L6T+5sy(HVQ30HDz_cO0TU_TVGwtzOce`
zv)I~OTV7vS>AhWU@2@Y?1{o(d2rfR>Gut5Z)E3Fj&(1_|$T+!4boI40w>M;--X^>I
z+Z*eG7bi9fFF!YDcfm_Y6#xE>NHk}o?yldKd%N!Twy;biv%Et~G%u%}nPr@hlp1w!
zm%X{Q`Tc=~%E$fYSQWoJv{d_g-kn{=?+-3kKOeWJ>hrt9%k}Tq{rM#<AR;6tC@MUC
z!jwtVCQh9k9uN`~78n|Q{lb+?*DhYYY;Iuk$zQ-m!%LJQfMHFw8YsxN<^FEoyf=TX
z!RKWa(KR}DPebFL``&vNd+)ik-Lqi3=id9CMelp=UiU1#ZuyjXQ-VEBw_dsIVZ3(B
zWl!_^Pv-x>T#8nFv3PymFX@B@j%?CND-zqJ6PE<KNhhx<JT^OFk*C`1q*a;AW+yI-
zOq-p&uJT!Q!a`TE=%kgY)1niXhK5BauPwcHJ7KY}+3lp&x!Z0hE{`p{oxHyGoArYQ
z&V1I7RwVaXKU@;*XZ?6h@wwd(7J2LKezYok-R_6WqVsk?URV9D8WGtGm$*l|hWf?^
zJ9|gFUzh*S*~HGw!o<MPu>SSt+j~?u<!%qz@mtNlF+gRSg0i;y`UNYNtXZ^b*}8=*
zmo8qtJU<~LB`GH>EiW-MH8(js{r!U%Pu@Iw_3Yilmrv)iWm^B(oXqDit<6wi&0ljX
zNYKH_`*U&^ziFTO?^5Su<rno%_3=*sg@4TtSkFKAg8Wu1i(9YVzTMe!@8g>HX~FWv
zE3f--scpGf`Q>E(Kf~>Rj5hz7;9mFp{l6{F`@Zeoe@EhB=gEJ<zg%1PoqS$wbwB0v
z$=nB%Yxs`aCfz7@n}0_|&3?bTPp#9-?(QSSLF|p8F;W#T+B<9S&wXfm{QOtO;`+OP
zAO2Y{xrh5+!}`rXZbdy|=DYv5^JsP9YoW86??cL8S@jxTy_MYb_1G4vzLO?5XLjD)
zEK;1NoOUYiO#kE?F6)zC*SzpjxM{r2<Npl_=jQt_9+(>b@ZlFLe!NtZ@0C{b#$OLs
zn%;QH7sS@w{ZS#w?ACsn-51l|IR3u)@$!q$rPp_7tXVKO?&6V#jMxYh9kp9iM9!Y<
znD)d~*-Po~s*u@ILB(0#b62W=UB1v{mfEF~S>D~5s%w|8-7=l;vgeXI(YX~JY&%@9
z+1<2fe|kY?;^N{MzcZSaw&_pr#7yWej$C)fbf=y9(`$DGcYb%>rF^kv<%w!VquA54
zE7jjWUtBXw|5NEc?Y<cmBJWR_ZD^VDK`1oI+sRWeQ+4x`DSte+Z3&t3Dkxk^`Te&O
zo3`^zd1w@-cG_pAzIW=@oGEWNiQk+z<#SPJ-f3sm($({>F8_6XfmD=oR!Q&b&WV*(
zPi9L;ie29n6`7q?o4ac5#H8}KtD8%=_+5Ev6)yhTD|UT!>2|p*kE_D;U;FOO@0(d^
z^8VR%rf3iD{6O7ps#~5+yJi&ar=4+h?V8YSv#wp36&?LLS2=f=?$)zq9}JIwWJnH|
za1H!%|NFj!D-A)tp4{8Ufs5UEvu<y@yCCn%ionHfTR$GN=H0g@_20>ws53{sWRCdO
zsCX!;_ywtWb1m`7TH<N7#NRE&>)Oexn+mg2X1|$KTjbGqQqxj>`jc6ACb@rdi94BH
zsht0G?j_#jTkNK5P2Mh^wQ&9woxf|Iy%0C`-@l6W7jIV``wRYzFX|<~xY>S5t9{}3
zc^N<BV!gp~H;%c-gshsEmWZ8xAv5iA<(hz5>o!bcTD_v}YRGY^tOHS5Ox#&q-dUWh
z|3?LD-w4RQ5hQ&hF#1NYwM9U+MG(71pu0t|`i_9~9YNwd0>gI%n^y#sR|N4_1o~G5
z>;DMI{}CkrBQX9)ususaJ<BBqmWu)`mjhZZ6trC8Xu0Uoa#_RWLWavF373lzE|*1)
zTu?f4$>hjI9+e9|DwlLrF6O9QmRWKkX2~U+B^PU!TxLqS;FNMHDdnP2%H^OZ7mS`<
zDtdB}>&fLbkqc%bm&!yg@`+ron{vT#$|b!i7xSiEmJ7KM7jnri<YHaOWyUKP9It4d
zHCV^Lar<Jw%vbyBdSpAQs@QnH=t#Y^G|`N;y?TD}%yLHEFG5i-Q@32y&R8CP(Q*C4
z$#L%DdmHnrgl)fwRlUspa?$$5@^V9m_lXnk9T%u=c<4Im<sr3Z2CjsHU)Pk*Iqldz
z_rBW>>pyuu4TqUb6hFC2uYYH}klp8%VsO=wEpo<-)z7@rEUr4XXWr%o;ySNXy{pb{
zy0>A`_BF3$v#ZYUvfH%KKj)Qk^sR*G*>5tsV{<nzmlb+DDXZV-_Y<oH7ZjKFt@zR!
zbzJiIe#147O@(T^L+&eI?mzL>nCov>(Ei1j=CAnry+3`I*$M>)W{H|7(-to~l&U26
z4h;BAy+5#L8#&sYy6WN98?s`emub*aw^dg?dZku|Dwk$0iR(34G11NR(h|2>i!Us4
zi@NGDTPibLS=MSvaC^zi33;-Y7CTp!dd%m0d0mm&DkY$u=jDV%S))bHZlxz?@JU`*
z6t+qUYWI0LAyd|9v2$AKi8*{TuPbuTJHALN((A-8AJfUli%jNE&0t)8(dpVE*ER0l
zHv?E_Ukuu|C^hH5{oF+L#y9Vm|GxP(?c1K2e^pe~Wgi`wZQ0XT@Z_@0ZxeO9BP;m}
zpE=L@Eg)`pWGR2)Q|Fl90_Ju{*76rVcfRvmfZy)OV*Za$oNay!=-VAx&HwS4^Pb-V
z^6^_EnJbog3a@$R^L>rr?QNfLAN+aE?)J8~(Q|TdZ_Bl|TEBPplJvUU=WSNjytlqA
z84{{KlPy{_edELHd0QWv=N%|m_*+hA`RS`36O5lo8S<sfyOU%QpJy7Quw8nd_VuX$
zl|^%JWS%}+)c;VmNIxVjtMystqLS0Uzisi-HjNKn>Tb7T`PHbUth3biep+a|_F|Uq
zm6Df}``=`)y_PXC&0~K}j{oZ|Vcn*|`=<E6$=rJ_voq~v_@|Y&ycv6^Wo@g`oqzN4
z0<(;n&rX<svJ6?+8?|odr?oYV)54!xAHJ^g=0#~_#*a1~qncnb>3yo+Jol$9ZF_&h
z=x}-J&WF{T9_{Z^y={53?qr$gHuFug6W=!Hd`-z#i`KmPOQ>X;U-;?Czk=r`R<y}w
zRxFcCwFvJwo3ngjQ^kV&r#>X)@65kp5faR=dp+|1@7oC*;#)W7$#2j9@oRSdZ$I|N
zm9wWc8eG%b`nYz|RrAZW%g%qYw7b4)&e45$!hd+hv$Flpis$}Ob-#_JS}slSWkc_|
zgBsG&orU{unk%2)eybyA|Ni^(JO3HfTYUOs7#6O}aQNUw$%fnhK`%lo<KiAjRYt}=
zv@#HS!?TU`P@K*qk=u?3=daa%U9O$A-T2mtbLorbdamJU7rkNW%hqT(xyn%?N<6@v
zzr*&B#-0A<JDSyx+{-&`Qr=;G@a)u*lM`}IPG{1bqNF)3NOQW^%4t@a)5J2Tn*Ch(
z$K#gsoD`|9B}X}=8JTuhtIS!vL;B9yZ<Wb6d3cQW?qxq>>eKflcthg6Y0L>5K2GG2
zP~W*=N1l87vG>P|lWK}NEHuuSwEkFmdrHUszfXSf$vkiPTGK7~?ajjtLKpnr9x=Kb
zVSc#iZg~HJtk@OYo;|b0g6==NogpEi{KDt4?3SkXM0UA@(vK7FP3b@EY*?4s6EF5S
z{Ah*vW7T8T29rvQ=Q6xVnagDMG@p05^-DjAmAhZ8lUU0BI#FVA{;Sy@SGIr6Re8Dl
z*E-j|>)$K8?!W$iqSV*PVqb$rz6OhZy)5zdvdGuVLSHXSef`W_zs_EKKSN}-jY8zV
zBj+DZU|(=3%IwvJMwy%j&WwX4Z<^*O`ezFl2=pCxxs#CVZPVtzQPj>|zt71&>_LTf
zr*whYUH|ou%c{EX9pc{7CmZ)9E$>)#nO5)zv-c-|KT5tgzyGMXjFv|C&uqB^msmF2
z@@~Er%iGJl)k15#^kn&<rGM{Vb>%HnH=0?OVr~;1wEJ$u8$a2y;EfGxQL?WiXQgai
zF+DSWwNtGR`_8|2>Pi-Aek!m!Df_f<>1ChU>K9_lS6NSew)67cm|5@7m5N`od{<O%
z8T(>g;q?oy@8Zh!W8cgxUw=XM9q)Iw*r)f3<u91NOa5*c`+irf`P~OqvHEv4R!;IV
zpPBXfMcU;`&bxZ1LC)o~Pf5R!3;yB%vhL+1y(*Wo$$MW0-i+s4u>5I&<(zp_7eCRc
za`c-t`Gu?O1;(nA^WUCdHvQlYxt|<e>s)l(77NEpBtN&|eY|1yPCe1;hYl%^SYrB}
z?sWX_naln`L+!C~w(-UET(PjI*}mqNYG*j-UzmMk>b+(98?3+1u;X7Ux<zdH#u;AE
zXL}ugEaUe`E#{E!oj&)SmrH(2`9HP&!1w<6??grUbg8&6^(ikd*c+5&J$dHy_?gcv
z>79`RJ1zB#iuXNjmVUu>n$!Gp>%`^VO8(;R^Vap)#L8Cg()(0W`{X6tW6iraPEGOI
z<yy3)A#bXX=F;6uVovog_gcB6TDkbU=U&6|{U+Yhwi@<k|Kz5YWiD4&>h?c%Y?Gm_
z>g<zg#~zi;^gHhoH@|n!KAFl|(@($Lo_sw!Vdjgq4{Cp@RLr-#%4yZOtF+5+;k*a=
zuXz70%WvNQ()u(H`$Z?)nEnM%4?f*uv|~;f>-5X79u!3->&1IyFHX9~zW%bq2djRL
zxaWrZj&3h<E3iywonBm4VELRaw=naA)%3=|Z~DJ}|G59NTKi6Z?&}wyau=QM@6@w5
z-1X<qi%-^zPscCHdv)ye#n<Z#l++*HeevV_j%Mo*bzlCnU;G~La{v2mYyN{>54_iu
z6yJ?mQ}lgD^@b=T73S<S(KjQq?`a*gS~)F?XV&&t91pj%x31aSB&3s`=ND=fsUBQ<
zVnT?pk(}v~HMcm9o!Fsv!RWGG>%|8%RE3kK$w+Tb3F>gnJ2R=$&|B<?PNc-<6hn^W
zhfZOSU6M`Xxwiy#Z;9~U5^{P=jJZ71p?|Nc7#J!TRgZ2IZ8Vf%IPiPY6I;=}TE;gT
zrU`|x88NJNG-{anhhd$i>fE4k&*NK;f2x-`lf<a(Fj?&c!|bbjb{Z_HsSQ1)cFcE<
zqHnPK<omoj+(H$MHW!!+<~j;6JUIMs<Jq_W>hJBn;pb+`z7<r5-S*49{cXj!1=n7;
zmcRaZTte7t={bhj%0Tw*<voS+do7IRYd@x()S2G<K>4SSUHkfHyMHj&&AtEh{m*nk
zy;Geo6ZJN^CL6lTh^ik6{pi#5Wx~Bn{%zi~dnS4sg+4n`S+v<k%il@D#nEVqv)U6U
zxsaA=7sPfs)kpBBA58oqJ<)B=#GZ98dJjr;s%iBcPdRg}1~e+IS$1rmg~;*8K6ARc
z3t9iElz&?2z@@Cx{bq{O%PH<tSMYsZbkJmG*k!9*9<wvqMK9P{`5gDDH$Jh&XSZa&
z+RU$K#GWO2NBB+K{xqF6Dp4%zW0>jcsaNCHhE-o-EcKZiB!1=Ti|x|O|BCUof71|A
zoObBbja5n$Lu;0cS)P9XLHv*Kf7O5^ol}G+IzQTBp)cp9Hg`+Mda=$)-;^evF%o2Z
zn9wY8qCrP@693c%yd{lx2CQZWD-R#%FwSuk+O>e4ErCVomI2>n1Mbfon64dCyTP>k
zp@K}Sae?2&6Iw;rl<GvB1YKN}GN(i<UFvtsoVaz1V|UKdyIZF7UAkyA(Ly)qdQR54
zOG<5GAFnDcOjUY&MJsf{x7CYZEwNhfdM{_rui4px?|z(`v2l~Yv5)&hDjQ}McOGQ;
zqZU7DB{)L=212``W@X#Us&jw8uq%Faa#bMXgWa4zX21Vld;jror60nb>V>MSS|)E$
zI&|;*oXL}mQu-Jcm^LspJZFe|SYNT{d0-F&2g}3o#wm@ijmnKl|MZ!C|5(@8-2Ho>
ziIKPE@cTdhfBgSW|KrW@zw*BK{on)T?~dR2ovicAFzn~EpH;u5nE1UPg!4bP@2Sq`
zeIVD!(4fRHrOk|?;rgj;=8D`sjQ14so6Jw{eiZxp-GlUdvhOE8|9r11p7XJN#eBv|
zY!jIFyV<=|n7gF=%Ou`UA+Iw#%r5iY^4y)FFT0?*q=WCWpq1D07Z!6DuP*78yChuY
zm;XYS;exao*9K0rvuQVN{%}jPGngGyyE$ck-QRulKV{ElxY2a~ak$y*<r^%`-fy3K
zmXV<%?BK7c(&z;7x4mCCvt7He>L#CdvhJEKS2t`5JNNCj-0k$KZ%kP{Cx~QDU`-9=
zyBff*dqL{$1?Ig5BHA0cR&SJKFJ$8XAi!vI(3*SWEU~QPYxZjUJkB&-yYTFm?sXSJ
zcX{`}RIYWrzhTqkj5(8wi{<nVP2C~3{qeUut-Firxi{(S+~~XEvpS<VxB2XL-ET|x
z7PG$HTe4|h*_EhU?BQ4JZYp}`OUB4q=jX5OI-UP=$>y({7KNSYicCGyq@*OI#P&#8
zFld3nCM9*Q1%j^@GB!=%b2gAXY{1lQc&{u`QSX7uxd$@yl2pSNw3;-gUErGKe>y{T
z?efW6W`DbESmjz*<#axS+x@AE%-rN6F~5Y}mcs0Xx$BPe?vQ@|NUp=%JHbToV}|CW
zi&0A!^?LZuo-pT{qHV4#+pV^w61JNe{9Km`r!4t=!mm1TV%`FqSm)GTtzIR<TVE)y
zx@>E*oIk_seZYLC47c}!PIgz8ZqIO?zgV}{HGVO3ZMWYSTdPauFU~lWi+y=$@Z$Kx
zi_;GmM({lGm~r~0!JOm-v*ibi&NZ6O5r1uAf33(a=i#CoN0)A#?44*m{ea-QuEQ~`
z?K_O#6-wWEBxZ56v|xJlV>a`{vU#n??+BjXVLk7$E&l;`xfXt#3ED|o>W5YN9HUZ}
z&CTdvcjiT}ql~0rhLvA&Y{*jU6%N-gw(UE@bgsjwM3OVZQs}al&Z9FOexC)}#gy%3
zT?4Ip+rEhSzTiDpSaas#mWcDL8zyo;)VY4#H?Qw*44eB-sjN%PJ`Y+Vj@>kzDEyH3
zd+E8(&oa9===Eqn__UM5FV-SmZ_nx1Tst4Fo1y)%YsU+{W!=vw?GVvh*!@armx<oQ
z?#GY3<zH%hFKs_F)zT<l?1a-y)y=6Bd8RrV#Vzv`f2nnM$?h+c?p^Z#b(%p^!#SnN
zXUa(<&t)e<W-1z|?m9F1=q4B83@6{EH%)dwyCO5oyExnK?E1>B9n-D^&GHb=&g@;@
zx^;rs)ugBx?hHrWg)2>4)2`ZV@;QB?NLO2X%bYb=J{d&>cg4GVIJkTH_v)|S(zNDU
z*CsdZlTmARUT^7IbA8n&$JHm@*6PjP(w1{=)~3+x(`IXxZ*N`q=0eq`;Mb@1aus%O
zUHImr!p+qOH~Bk1X)v4Ad@F+QWMZzC`<9tz(-+@z>dW-DT(|Z~%eHH3MM1YuXy$4!
z-#T~B#cxGn)+a3AYCPXMIp)H-qQKoJRNrb%-#R<y;=7{I>Jz4KHLq`-e&@oyqTt^r
zbl+-k-#Y)!#eYTN>?dqxHNKZlu(@#XQ$YI(Wm&EM(iuNWcH~@)+7$2nw6ky0aw{p#
zOlG4?WhskfH5{J@%sHpT{?=J^SMRMa9HuYqnqFG&GFT{G{o-WXKN&`53njK<5uJx?
zB2L{jm~WgQxBNJpUWadtMD-4xZ$*|lPm^vORNdHr`mx0I1BL54f8P<?zEkzj9m)P3
z%r$p7^>?V-eM~sAgtf!BTc9&diR-Le$gJiJ6Y+_eVluu?5wn^KOhg}MN*%h8BC<$W
z!)bXym!5*Stb?3Y%bpU6pD#FyE<2hmyUww6`ivu;hOLv6RE{6Y=xa8V5l^<1b1Tg8
zdHiI?K~2NS!HHtakCpf}e!e3hZYeR{QY3t*;krWMnCHuO9P0hhRsC4?`=RW2&D-ys
zUv`sccIxHaZCf{nUAuKFs{D20+_kGqH|u@dTALi2+qrf_>$VfqZmUISd*{wPyRmoM
zy|7za(aWEIS#x*G>9VWqZs+b!-u|X5cC&QZ9lzU=w=<*P&XL{1EVkkKw<B>kf~zyn
zzY*P5_)(tW*^)Wp6^u*fusei!ZrgBv<*tP%OUxH8^prihU`x}YB<X;O3JX^BC?zqa
z@d%sw#63-vIu=+StFC^-bGBOUoYJ!RIP>Rw^z-U6CmT!e{1aN5FaAC0`=0-M&7J?O
zh%P<1GWg|{olK2d3_?ob4NZJkKWZ=taHWJec6pR<$QNm6)XWPMaSbo&w+_GBm9>|#
zT;UPlj@2Lh+q&cp<|&4!UC&qOPTSAr@T`vAA$E<Q?4^ZfaZ}s44(f@DGJLaSYxz<Z
z?DFQY-1O5^-+7hqzPmHZtuR+*LAycQLLMir9{;Vj-KXardis9<(;FL4Pp|y@;+W6l
zTX*I}+S_tE1~4?dy8DEg!Sjb1ySd7K{e#b?a-KR@**?$zcxTF7ZOcjb-#?i3<ayAE
ztMi+_TmG1?TCcEmPyWw4mF)j_J`tDsl;&Ay*cwwUQxo*5Y<J9)t|wnLU%f2(knd&p
z<iT?l`LYj%C)q9858e8DvFO@5{y!VE?nU*?dgLtX8Lp>P_G$&AV{cC**PF)*8eLy@
zFIuEjKhge_jK2PhQyMEnO?5?j^kOdwtum<%xcuoeSCX%;ho<g#v*}07%YWQn;=e9W
zPoM8sue`kVx2<2+gl_yc<K+U?jg$T?lBt=p`{kZH_GVArV)c`Y{F`5=I>pVZ%gkK6
zmVep_qo*rRUC><l-@&P#L3QrS`OI+<^6|`C8JVlhW;JFuR7v&i3J82*5OC}E+;gki
z5}O!mFHD}zJ>m7)uT^*6T$I`VGd|5NGgrlagUOLE{7+{858ve+;yM5C^_&0F3%l;5
z#vI^1mhCTo&c~;qRb6gZ`7fI=>H8Z~LN2++PoJ4Qsqf?a4WbP--6v=8wg&KNKR&(r
zXbuC5$W)ERvrG>r<Ztg=#dTOg<;%~aqME1sHU-uDCHgt0D!e(Rv8uJ{kB#n;w0Ua(
zn&nRRo0{s!3h`FnxE`Qk@20oTzW&;dp4<KNV`I{7ettQ%ZQIn{*XLCHEtQdp*<5YE
zb5nlwn(ZHMpT80k9xi=4>s46|hk(}ebrbh1h9Bhje$;(gaG^o7z!yc;E!+Z$EDYPq
znH5V~{M)QE_?hc8`q~z2P4?_GTA!KMXDTZ4>S92^4&Lvxot_2U__XlvZ~Kyp>(#T4
znf0x=+*0#%q3L7k<FoYMo|36b%Xu?%;g3^$|MqO$pL2J&mYsR}DWx2V4bQfoXI6Rm
zcMkW>TBmPpGkT`C1cV;)FuCf^ks%dy!qusG!oqdurf;e)KX%xmkzubWhr+?;1*=YR
zXq+lbtMnD_de<OVZ<8dZeEj~VI|(-I4O?U6*KxHiuB;Jg-Fa<SoWd?miM2V2Z4YcO
zUvijqqvJ`gO!l67_o&$1_q!gcZC|gnA*FCb!u6f^Sk-oyzrJ_PqIcET#<r!BFJBjF
zd6lQWug*A;Xs>Wc?2enrtOpY-JXK#sP4$YY>U8VSmJOZM-u23LmCBln3>+0g4$YGn
z2(_-*-ozBLklpe6R>8D`Z|`QlD4Hm!kiwo=mKpP-q3Dn9e2JdjqOO@iV%*$McNbqa
zK9yy7MM(L-vh~B)<@4(5&i|jk_Jp+fzd!B&`KwhwuC!}kf7avPK}!L<zLnEs8cRMn
znaDAD9gTSVHf(}`44dKFw6uyM<2^I)Wwg$Em^`~hZK1OCX2IemZFizKzP%>y?iRP_
z>W}Okx&6=Qee`~Es!#pc@%c9jKfPt=+jIBDL!%Abu6*aXx$20_r|4N~DGm%#iqC}X
z=X-{zNG<X!5cy&A+{y0Z(uM2P(<aW5X^^S+E1bA~gTnpOa;J-SFMgS%w(&_(`?O<s
z82dG2>U8GUPKxo~_b@R>`k~OiAB#kUr1_Eyz7@w@InKX7;iT8zl1o#jZoTV2FTvz(
zYSa7~vy+7_w3VN#1u#FFxsxr=`(Mx2IJ?}BXZhs33m8g8f2KA~7TzMtFrm1JTYElZ
z??<Zz3s!_kvO2Bd4BhOzf?-Wa+l&`qdF<!ExZCMD?~c*$^+(P=`&RZiSXlVk7QRKX
zf%{*yyI!j)QPaFXt?7F)U(3s<!ZzHm9tMAWBXi}8Qi!R%QRB^wGbxJ;RUI8HIA^VU
zb!%<IO^?X>K4+_xlx68XO{b;=^EpM$%9e;(cQ5b6nJewZn>yBgf0>iBZj=2wx&QKZ
z_7eQ*>C7qD)30B@dMzY8)J^$efI&cDSWwJ_<4ewcVX@tLCwI|QL%ZGP+mFonTrs)l
z!GtYY3i6xzF4pd_kcsR0{bHeR>CC>1uP2)wuRc-#Eq}#|HEV8Muz#JqiT6%zTDp(Q
z=G^&bpZ)jRuk(|+iCcd1)3bXY?R-7YI<NZOp2ht2dOumM!#AnypRwrtcZ(lOp1kF=
zQ?6`}jVp33(#zlU%UbqpP4Fj0c6;@o8=CvQ?Ot5acK>u&^M~F!##a6LsYTO1Now#1
zYP-sMifb&$>ayap+R)$ZpeZTFE_-3ikv9=9%c7;vZTiWZe&Cs5YiF#wWp<ur@9gJu
zS<d<{-}=zR_A$$>Xup;Br%Wk7aA|SJ+2_qQ?*jLk{olRexm$M6yUE2T8N>9>TCplI
z%7i{QpWxsj|M0Sh)RIEeAC+gdmprrk&$iBdosY12=HDkrWG3@6tl4{Y`iaoA)z>P#
z^@1L`Em*pO!7*ft-h*y+jpL0$8`C!BPFwVVL*d;4xo!Kop03JSb!f)y+geBMy064W
z)$M$JqW$~(`j;=>o!+?dob>hHt=sz6-QB=*yjT9Z*$nHo+eE9k>sW7@wzekq4x5u+
zV)NN+f4-`E9Qz&oVIPb6y(hms?|J+?7FOr>iO=2k@g#nuyqlfBB5Vb3h~%5UU2^;F
zlHlG~w+h9xw3-$j%n0h<==YIh_0rTS*WH|c<|l4lnsYN+>U4kL{c|GMX3yNY<@5XZ
z9!dLW&7P*q?67nF`G!*!5+ZIQGFL+m)wU*VGG)JeCiq5rPp#_xS!VyLs-$io*}3n|
z5AmX-KlsmVzV^d(O`N`nQ?bpoWx}ShiW3$Ztu<~)V3SNOyYR$w-Gs9T-zX&ioj&_y
z$?*wSC#_6v$X;dSzcjn8a`oZEYwo^GOzz8dymi5VBVWGv@ZUH458pn!b4Ab#v6i}v
z{=QH29ShbO+iF(UbKRT%pqRI>>Xqd79QJ$zzk|}}MQ3XW?AlSxdEe~lorP;JU%q4H
zkRbYb=H+XW`eN}ef+9^UKYA8FFfeDTmTKr(p;0!M;f&PIH5J>`7j3-7_2bo%>FR0a
z`<^ab^UZ!<?50(THs8K{nZ~VLKWE;#HGKCY<31MJWbeuTV>|cBs=}_5_ZS<tbI&cC
zm2F=aI>+^Y^T)ep`_4YHPx#Z(`#tgx=dtUze#mwIZ~UlR67;ETGV_ODQ)Nz?N9_@3
zsPj)(c`p!iW5(^EPgSeyzKK4|d0Q6sG@5ZkPhIdQ#rC-8D)QS-r5oS#I<9*E{En@B
z33l1${qNh11w7?~_VEQI$g>~4GJnR`&rDpibwaZbJ!f|C`!XXw>i(W>TT7)5FSYAe
z|1JG<^{i{Ao7d$ZzZ6keSGa4!+v5xs4St@IY(A3D>P*Xd_n)e5e*a&CNodI(V*%lA
z{)V?VPR%{^mh*FRcH`FcL}!%)ca%!r&Ali+t^7^Bu)IxO`Ljz$+jrk@yDRMWx>I;j
z?Y(o~TXc`FseO=ia(~w2+Bwn1hxL!%36RtGeC!^0L{BMZ>a5`A<Bz`;EM740{M$yu
zBLd&vSN_V(`PcEWU!q!e@9(&@;zR0%iwm#rxGj~uUnKW#O7Gt1Xa1Srdy?yU@5D~k
z!)C`qHM+!Aj!E3i)=SP=wBQWaJ&E|5?S79xyph@b^Qz~?_1C9ZeT!kNS@c;||MtwZ
zCkmmPOPQvW{IrfgwO#Q^#y|7c5?;Pp{GyGkCMCuy?-8$HKVauln73^ehptXT_0HW9
zslx6b8}^Eva9W`8Ng{9FVeSP7go}3XRjlK4-@a2jwYp|q!lK1fcRem&zgySJ`uLZ(
z&*%EC`yiLM=Ka%M;ctX%^>S_<%vH~+y<+!GclJM*PfDMdZ?d1cHpzUFW@KE^m92AU
z7=O<$Gjl34`?b|Vy7S}fifwiu-^3X2ZLAWOSwHcv*!?#e@{gY~KCe6c+~L^f1$uFF
zXHJ~AY$aEz;1NB8zkLEXw9h+5PMG>W%&6v(!jkZ9JCc9uwpQ6m&YT;4sj8%EO=(q;
z&}FUaZI3?ffAex@GM|v0>+uNbnHL1s`v(6=NWRMK$W$>$>Agy*V$v1n4M8){oVKl5
zEV97F<>#e#iO-YPKbmg6@5=?vD--6Z{IGi*`No)U)43PN!qcxun+d*Ud02K?&4l+&
zcAiwrV@7e+J(aCo&mDF?`Sf?@@w4ofyPP$oQcu72On$a9ct^C(c6|x!h-~W#^W$6h
z|Bu^Js-Dk%EMsc1ukf7ypZk4IJ(bGXb24@Eo{NE?0_yoKjh!*l&u6iIck-_3RM(y?
z^vX%ais_PG+T9~@Q~1*j1Ijqp?tM^NeONIsr{ui+si-B4?{@A^&EK)Q?5W<_A6rs8
zSFQ|hJfO?l{=w&v!m|6Cfv<c|v|i7c`o((p9>ey!;7R-id@gTZDm~G9;$ZpRL*WRQ
z>Z+Oz{TdqIa+HLk=S4r$elWQ><g~^V!J{s3mh^6T(4s4|<<HT-zvFF+o*ZW9tNGz^
zyYcC1{w*`(jlbI%Tm3pC_xW{g+MMHmw4R83>Zr5M{QCU*<WISp74v(qU)1;h*YJdQ
z(;kcbqJ0l`cD&vBneSimN&Oo;C#n8CDpK^e@Pp^c+p>T7C*>Di;h&Vh?X}}NuekY(
z?)tI+U-ra#4)ewzya8Na3)XyA<&QV>ny6IvlZ!L&Tlf8rueTROE)dv}E#UGbZ;{4l
z!$^CTum-`1AJ-37lto5H)<(vf$n?0GXb0ro|0^!m;Zd2&{oE=uudG7k=gX{TUhZ*s
z>K{y<{rZ~T$@Oc_-j2Pv>kGHpeI?!W>ZSQRw<Ne$W^UNGG_|<zVX?)m!+!5$AEfi%
zk(;BwS^N3PH(Ea@H2ZtnO;}W4CHrU2lf!&=dOsI{`cLou4wj#+`^H(nvcYwOM%?_>
z!ViSSKCE59#MSyZDeAEE0*z-geP4E7yV7>}PtNLy+XoK0m@H_#aeN<N&GWq1dVlV<
z71bYzf06rf{mTf;noRB27G}a*_HVxYW5OGqZ>H(44X&(ap8_0f0-x=3|2AW;c|l%2
zqgd45qx+dsKkYyE#$myP%z(4`6S+QjIB6|D>e{s`We3NKDVa_)QUyOu32|Z(7nYOY
zU|Gc+D(Jsd{SaT(rN3HV1G-BNPMg8knz3qO!Bnk@JMY<VH|BNwb**1M<Mx5Htq*hG
zs4uRPOo|l_X71+Gi8o^}?LN7So7t!J#l7Ng{V02h@7o{FnEvv^`8UNY&Q_e@4zu5z
z_VeIn&u2R|Z`Lzw{wi&6p6<QR_Grx}<A>}Fr=p5jZ5}+o*ymyr<}BIgdpWkmPT_Ux
zr>ehkatU7;?DxAdzf4OoGt9}IUf}pp{nV|SfyNbn@5~oF`QJb0{6bjRdY*)IeGz*<
zM_|p<x9s2d%L*A*f9kri{z>uuD{G`H1nnfk3jg&?n#!8vJZ0+h(#@MB->sPUaI)d2
zfVvZ6ipT4%c2|DBxv=>14T<-!Ud@=J5`HW1?aO_+SK~K|etGlin&|5K*E!bGTtCmw
zYMbU*62drP{<GB2X>;}&q}#cj&-*R&b~E#zuR=caH>+42Q+cs->szy;rME3MR~_xT
zdi}@_nPsz2gle=&?fWP8T-a%1zvrSE;n5Bc5|pYA9Z%V@%Id_iC89G|m-M*Ay7-Fq
zx$V-lxOA&H|Ne*S?X$E$-Hh&%`kO6wzV4u%n05B6YrHA%s;@{jm)9x9#Oz?P-4>|v
z_N!#!w9g-l>&%)?9r3;46}U!tuAA`h(@giGEhiji>aa2nUvTM-ruPG<L%m0r*FLg)
z`{=G|Nm+6F@5lPZ-K8ae&))B-d%bh%oA?j>tJfcmej4}8IO$Ez0V!)^&&v8H>HMOZ
zs`);Fb^cA~O)XAcw>~w0a!tfEa8WEH;1%JMBLDh!*1JeMl?WG3fhLg*@&9_eN*+Gk
zF16~=SHa33Ph(G3Z@N_Z@)&zmqNL!w@0Z=BqhGzx%Z`uUndSL@Vc%Bu@9V7ht;kGC
z`8(@e-nZYof~$>RA1-H`abJY>(~YIqxACt2wmodh-K#<3eC>DcW&CfO`a623oKsw4
zf4J`MdrXtG6;D=Mu(y1T;I*IjQPJh|vRpem7w6aWPwk%1yF;1b<g54PSLSQ}3_I8Q
zx8_it_QQ8O_6wSp1{wx#QCiZ~)RLw=Nr%NJW=dN_z>+6n4*%XbUN9+T2?;$S_mU%^
z%qQ7;%7#d;{{5jF4^~*cW-d2~S-Ux>x!_aug%|(bzfY(=-S>5=wO+_4^ZBbPSHIh}
zr+R8!>h74E3$KLkNqw%mJvaW)wqvvJv`sR<mFt(T@_xdegMs_*olE^W;lU?MhZkvI
z|IV-#Z)HDo!O2l#rBv^e=b9~5mpO#QnY3d6rPK%9kYCf`GV_hR*V;b8m%Ln2(Pt7S
zF?A))+x*1OSoclpv&7kFCjAWEcl6cjfC;ioT;(?!PrsV})2j0N!LRS%+`9H`b#`v-
z)op9G?RnDNJ-eLO|GQmP#ow82(H{<7%zgb`_oJ+S#FdEs7RitA@8*AF`0kkTZ@sd1
zt#9)gc24(8H~ZjddF1ixPZKZLxExZBU9dvqoy|)Qf7L`wu5GoRfr1W!m4T6+^KGLf
zP8F}wu9+Dtm7(C1uy>N@>&!gP51+5jx3k&w{pUyNcnP)DG1}$Zb*!Z%J8er3U#Qqt
zsPg+*T~X<anHM*vw|}##4=#9l?bxkTA5~YU+i%&tx|)4DYlDnXW&Xb%{R$0RKQS+@
zopStnv1nbkP}C`XUnl#2>6_lqUw(4a$&)u%Gbqg8{-~0R$+eLC@ukjHS%(*7e!gz7
z?Z{jcvndnq$3_e0$Jx%as;&C<CG#3n<hNUikN00F{;~C>=eztxybsUUr=As6PP<)f
zcX6BiwWE(aT0YH4+htLzFL6^!tILXK)veoSRfJb{PLZ$|Z%ef*sATed@8)~7@O#tj
z3moPxpYL5Z;+lTFV)AL#r@1Q1YV)%TK2)7Fx31_Z&X%d2_A!Rz$Z3u!M#tYw6S*z#
zEw~<|;Id`TZqxtkTG!c{|BVQLAACOcT+KH@G2I>CPpuQ2V~|(>BvK%^Ygeo9`l!#p
zkAtgBP}{xfJ-AX-&3~{9R29yHRE0g!W{VB2IO^mctDR`hbhT@my*8TNNr+ij<cr&m
z?B-?N54z9ReR|@Ve0rKq`Oi%op3Ja6aBjwvt@m;s@9wwB-kiBYB}8ORrfKRTL&ewE
z#cynBJgu@L*gX9w#CSeC)t?Sr(qFB9Se|T`t%>>MXdSNQ)3>XR`SFQQzb5Q!(fN{j
z^Sb&kO$OhO$Nu;*nVhz=6jJ!C?jHJ3(a!J{vjE4hLsvTurmxerad69Brau3!`HjnA
z&-g_}yIwyLeZOnI^!&HddG*hiI=uXJ>4@aU+`?<W-%YPg`2JGf`{(Hye=f)TbBSA|
zW2{<Qek0)I#2WVJ4L0r*Vv>Jl)$pw1=!l&n@Xp)FV0Gg&vBt<F0>}2m6`lQYEBM&;
z_&?XmD_>0NoY#51C6bF_%J$EjdH2_!DF_to4i)vvy%-?bQp(+YQ6N=*P0+W6d;Y4+
z*F8DO|M$yJ^?5u0T;W+Sy+7Y2@^9r2c{ja(UN01H3GDlzALjRXt!L%@W`D1H^A^>p
zKW}hgbornD;p5bG+AGe)PtlliLod))u3yXSXB9_gkL)tdNoU08)$+caJ-^~tr}+AX
zzi!`u#CYfDVtGk<Gd=Z357%$n6&oO>e@)}U&sB<rtj>{BC;qt*^u+Ao%*@Bv<^Nn+
zKJU-p_y0TUb8Gmbcf3inb^10x^6`gzOZJ>UsIHn{{z3AjwNTBv#?zXWwOzlgW&g~c
z#Bcdy$CGAIoH0Ca5J>%FC+Gb<TesgJm?dk!b?^nR!f1)G=boD+9(3#M%>QO+lQ&24
z?y=63Cky|ada`5VjIY~QM4$MVeL8J2gJ;G5=JOu+CO#<Ujd45q`eY_UK*H5K?=!cZ
zD7|u!UA5-uIftWD`(`=qI^(0!wc?Ry!Okm*vOj}(yB75>S-9-(f{kl_3)L4+JpEkj
zi`&n2Dsyw6?=iF$Nu2NUZeOnWvHSIJ7Q1`gOqRF)lwDVBvu(%z{9}8pmZ|H<>@e`o
zR@y$DmF@cj&&T>dct72jTE1h>wQ7d-&TS|D@;dqNF>cU1qNg@#(Y#9>jU}_(F0xw8
zYt(Zse4B7T=9GbkUaGgNYnqya>jtHWxUf^K-%`cW#43s+OJ6?pS-aud;m0b56M1A-
zZTRc+G@B)V^(rmx)oXMPYhUA+J?0)Bv0hYW?^iRS)laT`%Y0MiaE3K=M*1K2?K`*T
z|A;=3P`0k=-H$X@PK6I|1q?z>)T}aIt_b#(XJ56dB;d{b%K=NX;xjeF7j9X##Yp6Y
z&dD#oxjx(Mv~+6ZS;laqMUDHr%#m;IHd4LQriFz~vzu|FV@gEBmW}TN|5^Ut$XYF2
zqxx}qi(I|>7ma2qiLUz-nq7{rE9srFQ~G$LK__Qw)>6e+F}ib0+g9y9)|gl-5HeN%
zamcOkxN}>z)@!csYcV=)bo!4g>(6<2-ss#kEZeJ;b6vfhWm&wXiFJ-<leYZ*lK*#u
zFGpW1fAi-@>8ZQcyXz93eC+<wQFwV<V{CK9{Ezt;h5jv{q#^KvO(9+}ymC$F`Xx3;
zS{8I|3HTf#AgHOy=;1Oe!hFWWWj53E=5egqt7*Tj;%KDX>GQ|q<6g`)`}b+(J#J<H
zy!&@79oCh_N}2oF{I}Vc{U>Pp#`g#M4jz<cfA;Lmx1&4$EjGOu&+Kt%yX6kWpS7HJ
z*A-58Z&tuM)o`|WmOE$^Y~|Cb=TH91IX}1j!+h_$gNpgno`?sZ*m@k43$~wj1$PXf
zr6FIP-={=&`RO$iiWQRVzZ(~d2k_>86m9KT;<Ts#k&`UPs}z%uT3yRJr~K+Tk;Jt?
z(s6y?m6po7gjsP`^W`=E2DK<XH+IiB<bCq|nV5q%mxJB)zC_JzdjHridntF6-RZyO
zhfYZz>DT#iU%t3@&E9+2=gI?8?(0lUJrz84VelnA=4r8J3>vOVW^pXv%l17<f7p=~
z;COh6{_2n$abcVd9(&3)S3TPGb(g!sPvPdm`5o)TE4x!lY>(I(mws&PPQAeT@oUY}
zjBoKh@#lQ(U6%EH-f{8Ali>F4U*}qU{B*kF(ZZR+{dc~e@$P8ey?e(zC;4~oGt%F3
zo1e0I+y3nHwU2eP)P6=q|NCZtF>I!MW!w?N@FUZoDjuv^q9Q9A)w^m@$;qBP?In^g
z*|fI_w$3Y1kXgr_RppuM68Ckh#pS;(%a43I%CD3?b54F$!GmMovAJijewCJ!h_&Ci
zqV9Xf`Dshf&i{F5)mCQf+wa!Jo~+5MxVq`>PuAGp)8BPIi{FdA9U;2XCN4Pivc!a)
zlb^S~v&&w$o9E<@Z6bT-7rwsd^FilD!};Ud(ifNNA2JDNxqSIrvRjpPT3X41X^|bP
z!Wz0>z0x}F^TtGZ(%R0P_dceR)w|ObuU2j<ms*m(WNE+Zq`k3vwJarbXX+{|7qb`{
zFP?d3cGwO1u>Sx3^W=J_Gv?gdVYY8mX{C2gVXf|If$vW%*NA+~sZH$Kq3&7m`Tyei
zM_wzwC|}Z_U$W;{;j5Zgb~#xVcc+@o5Bm39{v3N)*)sXt^HvqV*Xh6D<#8*$cH6!`
zqJK9%;rF<waJsv+;WO*`x!Y~a?;S*pz#f|Z4P^v2^wTequjN)h%vI%!J`_*lw+0u+
zdy7==&ux1D=uXxC?$bMY%8qRRSkh<|vO+v`DW|FFG`|4nD-#u7?DBCaUwFnr+<dFx
z#Kv>W`&XRsiel4EdezbL(`fM-cfNo1>JyzlGT(fp|H16{^_;%YtIOsEhTV<5{w1UG
z<Kb(eC6lKW6>(0xXL%zsBIo;l&CGtr({eSnH;=w~_|QDXa>a!hmevx>O;_C;^1nAs
zV0ieds=@znobU64D{HjlYdxK;bME(v9<%q~|KY+ZY3<ozdCIx6vRj3Ve>7g6-d%HC
z`>o}h)PmqUkKJ0U1g02;I68(*)id59*YI;1;~9}YhWTsP%1=CN{q&sC;RI2^y&|eM
zJI-y|-uy1cZh7*VTV~78RPEpVc-zF6d%x{@`?PvG|CUEPJ|_5n-nP8|?w31q^S17-
z$@zPXd86xtGs(wYjo#ZzzV|;gxAOgdaWg@g(uv>wDsnjDm1^`KoM=4mdb0QdYx%PS
zzmM7;PdRjM-Rn0ov)gvHEqG;+wRzd;sdpY-UFoI1v9`=a>C*E`_9d^C>hE1-Tq*S8
z@9v<IBf<W$x4wR_pT9)=k4>XoqxE%B!QU(U++FY4*niU!y~`qeud$D(YHs?4?wqp1
zu!E)L66SX+)%Q)`A~jo0?SrteFoRP3A6un(8}Uy+=I+;xmkIgzcflFy^#KuoZOY?Z
z_9@TOn|yR``+xg6f;S)Stqt4tLvWs+oP<nL<0hlBTg$JyP57?O@Ne&jsj1iYEjZH^
z8dG#c>&9Q-u87u2$7YlT9MjQ?xz4Wj<$v&kN9X<3m_+v*oZ9&!)J;I==K32c_m8Fe
zANtMmeCH#-ea8dqf<Bd5hZm{bf1zQoT<P9)-n8KUggy5jrE=eTTXN;I@5y!<*dT<$
z<7-vQw{#yapYEellYJ!rCP#o1|FWGO%U&K{@LKfls)8U^;kYO!)jwC42}rxVteRPH
zWkQed>B&7`?%Y0`^POqppMQcckEWgaT{V$e-zMsmm1?T2LTcE%->iSQ_G>@BDZA}X
zdBBbGDg(jes~w^r?XIhR^!v)~#n#jFtv;}M*X)0uX8iH*)6Sdu^DPd(QMvVF-G=h^
zr<c1G4(?BST-)@yrj^_4cuk&B*#v9h%H5~lKC;>MH~Fb6OX!woo0;tRt_n_H7x?V`
zT`t9I6PHW;c>ia;)Nk$0)h_=E1NImRwK#Mvt=|0qrxBk`!$UE4r{nw^Yl`0`#lNh-
zYkqg{uD$hD!MA_?dwE<tFXw*A4wFCM_=>(hid-xof8);1rPn1qYt+NHnID^GW~%G^
zBzMNA<n2@YYwQ+Iw@9yE_<Hfq4wHq`!tbo<Oo_FdA894Z^j}n9s-Wo4o8fZTH@Psa
zZ-1>U_NwXiRE5{?=HJ_t`1!$?#}5xnpSXHlU#k7XUK^2=J<Tza5nCc|{lDKjC)(%t
zWueK@&+87l+V7h;<-7Whk80PwKe@U8lssw8BL1y#%KGPbPNhEE!*lG>%{mn?D<xlN
zhb+leEF6JuCR0Cj%4_hRxcx0FZzGq$9D&l7<+okM#2&sDV_3cK%G=%+<z0G3?^Avm
z&zD|r{`lkWX}vAGUxn#q72W!LQdqe0z-_6h=)(VB%W}iIR)*jDDy6&eM_T(m!}ht$
zROBDT%=!6lf#Ak^Zbub4p3saC#;$AL#=oChPX8hj7XDN->HM;nIf~m<lQX|Px$3ly
z?Xt)9n+IpkP2YV+X3hOCGcv>PX6rBhbdPzbu<%ZHJ^ooc!|N+giy1%8I(?Q^T(4om
z%A==rPqYU`$mM@inDj`g+-;ZF#XY<dffFWlc-;1zvzMETfy;~A>xOgX#1+d<r&#8F
z=a}rbOhhMk)w$;)K6~VpTK_p0YA=0oZ1J(5ht{s`>}mRa@8?|A+%UU?x4%{Dg<tKc
ze8<aB)OOtLr>);M@9<8pj@UE{ho1Q>rW<e?M4hyX+;ZC8=H>3hlB$yM)61T-=T{^u
z|Eu#n_vZdYQA_W4E7q=Fz4dzZf#>I&{>*vfbEV?cOdo3r=1||9B|jg%{`R3)Gvt;L
zZ%Ve+zq~J3R=zY&PwCF-p7nX>;bZcF)_*KlU$x$mKjUqe;r827#qPeg&ug6KDaiDR
zvz<C!)A~~?^i3y6*Vk1$?$7L3Ih2vaEc&3*L-kw^>+$((KMJ)ZOi|bR@Ntq&U}BtM
zTBywygZRX_)6#CTmE4yOl^0ac{w0-Pw0FtA-Y064&zo9Q?0qs@*5;Vy0@3~Hh9+j$
zgIa#>47<bEeUtgy!a3Q(Q~sX&-}3ti<Aqt-whuTfoAd0hCr$eB=l)suM<=JYHkPX`
z*6e<9`0urvUs@`UZwGz&C$dMM_5R}rlP7KWzIPy3xw5va$_m_%D9n3medU6qM(ex^
zK1Z(*k^EXw;Y~NUY;!;Ox;J(~LQr(QjmRTT)taztCClf|ohfMQEq-=(&HkCvg-g}T
z%Wh>>X<IU-{B!EP@b*NLU50>F!MiQ3n`@Rg*MsIJ=TE9pX!Wf|9wQZP>i)xVZ1Pk0
zKg_SM8^~<Fcl7ge;gCZs6kkvMd7tCur1y6-57_ao()cFT)%5#G;f5<e&D|;)H|ZC$
z_^ki3>E9{tSLZ(bJ`^{b|KQ|$1LgOYo8B**tN+q^cmB4!U3+f7`INk}Uh?w&iSdf3
zeLQbl{&F}uvF7-m|5|@!{{^k+zy2a=(goAjqURwOiz4^cF>X*=>S)H<;;dKuuhsGF
zy463<?bl?Vw`0f4X$4Q7^@`7*aqmK1-Y>>7_1ri0-w&H!%s6}a{juY{8yokfe^g9<
z6ZtLl#PO#Bc16=g<>$AgKzeKbf%_&GJKQiS@BFj&!e&dk({78->{n#t5(qibd+m+B
z+CQ$WOqoX~yB{gMy`ela_RKb+%4h4J<i}T)e7H2}>f!gdEH^y-aq{zJTWRZZqp7Fo
zS0onxeS5drdFyTYng`SEU*6wV{NcBgpJM-n&pS-T;yq9OmH{otVV^&7kMk$CL!TN|
z*DsIvh^k+{cpi9N&f`h^RzIdZVV=Y6q|0D={#NPd`dD4zl}>^smr{S1m#17gH1$V%
zIn$xNcMg2x&igkrEq2$3$MM|zt1sUC=cxWXUB3F;jqC4C`zFs*=Zm$qHQf08bGeO;
z;g|63`}<ES-x965`}{|Fy4a^WkPDO#y3YCD_2ARpAO(S$zil}uD~LF9yz8pwnxJK~
zd<%<dsOyCvZi{<-)kGZ}u6Af$k+~Qc$ToA{EH>q^I>FObenBiZ?z>oSoVmAAf7j2W
zM;VSTe3VeBnSDjPhh=Z3<TXckx0y*BRkzJm<~C&A>HJ7|`Muck>f7sFx9@rUZriq7
zYnPsW^)4#-(zMdc_l{)=)jWTDZ2Gm*YdLvu?#N|-6qnQFms+j-aN5;W#dZ5HOuldZ
zuySF&on%wWo-5~G&Uhj`$^68pw3_|zb?5))X5a7p$&-D5<fqA+Pd+VwaMbKy;Vz#~
z!TFl&KksC`UA#PZ&#Z6Wb;lInTdUg7c3PLk{$Ky(W|<;Z)#pX3tB=3V*zWsD%l+^E
z$$O3++^<+Uqxj)_yG@g}Mss^FG{5)OeU*svLf#eG2TR0V_lkvvRL*g~+^MF&a;JCm
z%P+g;6+GLuYuD0JZ>6gf6P6gwnD#J6YjQ==<iD4!wC>JYV{+Z^snz{`&!=qd_;;wJ
zC|kF*!t(oX{pi&%_v?Qs-xc;M{@I4dyH)kK7k_GdB07ip>70MOo5Oi^+C*pM%2|JM
zN_DyF6&U#S|M5H32i!|zY7ZM1Z};xr5;gVex>Mg`w}!sIl*QQCa)E0?#-ipN2bRmT
z4;)LF{cOi=i_XO-R{Fo$<6kxB-s;KmyXMZb(fxPHSxZ9w*{iw6<z?UQU5$(UxvQRW
z)AN7n@6OCDN<TN}vwY7*C2qwV3@r>7*PJhUVXU?-t?T&lsehcrayBH2^-s-aWq&`{
zVZHghEzbpRlsZ}bR5LmhAF!U;jcL}F$8+YCY;swy#kwuZwduMK_Y|gg%a+ZWwd~!p
zb>FVdIyS5Ak;4gj9+tm-u2W)FGrox~kM&dj5S})9`iH$$7gD}mylaq^{dBEft>>ig
z&(`$ym-M>w>C0P$%GRe8y*lyH`te@V?99jW<7zDBZrz=0W3EzPa-z$3nrQE*+tnHB
zD|QCnxN~*W%4KF@`%Arxe*RKhD$c{c_;334Jxf<_-RfPpZt+5scf1a}KYeTd_+^dJ
zd(W2MX2)Ci`X|OOtO;rRH{Iy?ZLvh=87Vy*7Cf;x_<K;f=(M2XV$X-}Cg%=wC;Yqb
z^1NQPpMkY-rk%;dU|T26Q#O1~4U9*{tz<YXPsz-iq_p9bHP;qJZoy;IE*@)sI7Qj=
z&tBux)8|K4Zg~Bw<hxwF(ap=w{{{YU+I{TUyQpn8es!w<i#P76^R53c_2clq*Kw=b
z<9_^O>~|~-?Bn&|X1V=zN5bxw39>B@x<x~7=yh+N!>eWc@YvLpPp5vBmQVK&UH>X}
z@2>LFt06z{zSdz*4_|L*ZLlHb<AqnLr^EPlJ$amdYrJp&_Otw7>@L~V$<+?$PQ6Zg
zy4LZz@KQ$mgKVdYI=8A!Klam8@A%~>Q)hqi)H5!a^JEiSD7*4{&!U;Gra#Vx2B)eU
zKbjIVxjfsXG%Lfi#$i?1Ou;e{yM5tHO^^DqS~1-9SRwaUAy8^zx*OZBvg1)jr>BTX
z2_8~gwXj(7$~1|7wcwnokDJy`@;ABgaP}5X-sfTyiWtw#xFzzK%QS7TqF9ekgH*8p
zZfQ-!XA@a7X5`dAxi<Csm7;0?o`-$+KB@PFZ-R2upOAg?&#UMA-1xMi(IZFe;beB6
zGPCLpU8~buOkbX4c8FQQ?fc`Bzt184nT<!3jEg^=SnfX4pfcgDXHjSK3N`*s|Ff<)
zCeCnZ`(CnEM)Ku5Ny(Rr`*%I<(|>PoZC19e-q7q`m5-0y8u@>7WfsX8*oCz7sdVj~
zDw-FS9k02eV5Y%Bs{=yo>sk5F&r12s$rQU{@v(zp>WT)NeU>#m+US)1;QQ~_f3}7;
zW>}nfbjmn_cg0tiP77oA2kNQ?7en4&II&pxa5~#GIcbYqw@Xj|Uis-o!u;ZtFJGh0
zE2HmQ8(g?{_5OXo3)Or!d)H;(-?VhMHQULM`{zQNpDkK>Xy1WVPB&%xuYNBxH7#?N
zZ`d|%mg<e-`WbJpdoR7eFzZA8VfhuyewSX9pSSq$!Pcf1<($!W+ZtFe&w9llXeHn_
zS)f3D&L&;4Wivi5;f-E<>f%=^p4i269wm#MPv!Pum0dNhNh7LhL*m3ZbKgZ#tl|=m
zQ710EOthY-vEa<jgO?mQzLgb(%{%<_nn|oqsa4;Vvmftpg@*sWaeP_$iTl1^x0`Oi
zr~m8rLf^Z0x9?M}lDS^Xb4>EZy!Es1A9(64Rk?Y>eUm-&|7fbJKj-X;K6LCO+aq_?
z6-;GYR3#dpGDI3Oo@V6lYqy&b#C&Y!uH7-~xWX$7XXrIWgr{^Xd}tH=8n(XT1e@o)
zGm>xD#>JSK{kidsy)FFS?zF2rML)T->E6ha%sDvCBRG6z`en9XwK1jN9sb|VzJKlV
zr8~1{Wt(l-R6nU+`un1sPermj*`Ihcy=R?#JJ7o8@m5ZMYqKXJm$$9cRa9Fn9qsFw
zvypAX%}HIK-@1lPKAK|NRP-X@jNuzsv6O8y^4o)VU0fnt{BGjaldcx#*S87Z%&9T$
zR9L3)^>2sv%!qS;=bu|DQWPk|T=J>vZH$nuq-4UZV{CqPx8`h8Z?AjDKJ9Q{g?oN^
zxOcE`sLGSoI;D-D?Y@6Kz1TRr@z{0$tE$ibHgx)Za__B||F&fJnJ({J{81+xKTFDX
z<aq4-eo{VU*QFVbp9{4sl7g;o-1J3w`>Ovnfv*HUbvwxkSETaqE%)0cyQ*aRmA`>f
zqMuGn{q$7azvy!PYLiddPI=d#B#RfdFWXb6xc>6V`zueX>pcnN{g<k^{@RInflmw6
z=4&eUzc_JN!M&y5JL0sNqm2)*n_4QLQG&W!o0CPUgqvDK+d|trpP9bh*HM}6>zOlm
z*GUHJkIQbkNv)Pz^KG+2LMi_l9-f@+`n8=|xru@C&P$J<zL6^Ayj1VA(%;V28v57b
zUw&$ckB`reT+W@XZnSXy>qY<K0_zRgnQ!}OO|xdd##{V&=W$bMmFe7yGumwPX6?BV
zKSlC9Z^^Eem%|0m*S`CD*!g?kB`=R3yel<-emuz7U31y!g4dr#4}|7VdYZU`(YkxL
z+xhq09nyl24X@_E@V@`Ncy0e%f1NMuw_n~D)pG7Y`2CcU3t_&sUrz`5a4bGEpE<YP
z|K|*$6TF{eMUU<{xK&otcXFfvXZWi`E2Wr96TT8IMz?CN60UP!4z4LE_#*!I?Z58J
z$;stDEWf%|*&Jlt^kT{$e*4N(TT|=rEjoNo@Sa-k6OE6XIhLzW4RvW`mtJb)<D+@m
z>V~mH#s#k9qC2i1(!V_;CDAFZ;ID-EJg(U@SB5wo@bOyB?y#h_apjghHll{Cajp*&
zG!jIY<Q;nIz5C7uo!@<SUyqz%-ngSa|MaYs_p;9EZ0zTGWZ%bb&kD8KS5-P^$I~Oi
z{VmPyr)sp@yr${dP4t-;F(*cCe)Pq=dzt=SD0}v+q3j>y|7-KyZ$6Qe-5ISr{Z-2z
zH|6czJDn$==XR1~vCN;(FD%cs(Cy2+sq!D3e}^QkUdbSxo0h<GY=*<{h6`&%`?No-
zlF4y)Yd&j{c`)IqdI5j`DXk;6`eui_Ht0!T%UPz&#u>miFVFhW!-C`;3%A{R$#eO~
z)Cv6)KS(jZ{Kj;9|F*LSiVp{7<ngVFes?%IcE8U)xmoK<YoFZT*Yvo3((+%w{Z*~E
zhuSIXPOY~wx^#VeR%rZ>xf2ikGm1aE;p)tYJJkt4KmFai@IsK~!$R9D_itXjfB)i5
z{&W|PiOeOrFI-k1G(XwUepx1aai;!~LccJc^k-U%tev-mw*2$7EdD!LW{ca8{Pbnk
zQM;%6`-kV{DE<ppf0F-blgs@s$DeFl5A2D0*<8u=(Wvsm<nucXwk<g&lCZg1@^B{C
z25o~Zrqg~mjJiL4v~_e~Z*7S53OVXNKX}1Wg|`<E9uSM!d4lB`{|d>RgI7(3|C}t)
zZrat>+<aO7|BpLS>lSi<_hr|vePg3}=+(>P`yc!{IsN9JpSmmdf6;X9d+8|iPwCgP
zN9KQgx3vq+_|APss%s@%&!+Q2&l6w$c|GM%p!VOdMxTSLI#1>=&YXBj{DSup-5=AA
zKl`A|@8>W4eQo?jn_ZbrwNLz&`jt*N@4U~pebp29oqxhZ_Qj~$pLyCJP}%JjxAeqB
zm#3jm`km@J9{=}xs(fk6gy)5Sgnqp)pA>sSHs+p{^yAXMOBXTE<G=Dlf7N#@%Y9;s
zbM%k4+N@f6{j^h^)06vdS(ko3-v8L@;Q1KuIDsFJ8{AtS#oloEXnCSL&-;eghLjIU
zi&b(IPjqxl4EQ8qcQc<Q`MAV#H^wGs7kNp6c~2a!2Jd?9vSO1=$G*=~6oQNU%zj;;
z*&F?{G&k4O^vik1XQ{W0&T39O`PO$~K(MpHr9ZDebKTzb``UWT+eTN9#|s>~`()RO
z`-bb5m!H|DIP>LWtM}3I?4brf-*-yiJlH=wp=INv+}@88kDuOS4f}f5MRD%gQnrTM
z2Uu=13BI@;68yF^<j3;(?T@8J+viT?n38^5_RriO20tfPqzmque0s9h&%_CzE#G@u
z=@nhr)Ngnzb<(UvnXbQm6E-ecGVlF`vTwnkQ~oU0EPFQL&^e!#zvnQ<>@TYNwbcLL
z_51dp4_y$oTAKUwqxUEC9~HHedSA}2N|rkKh2bev&m-oo{-JT-W9DT9isgECZJKiA
zZ?XnQQ19n>MNU`C$7-TIpANoD+#ghK*i-Lf{Nvyg*ZIqi*{?podX1gy%~#IzZM2_q
z`e@!%e5MgPccBg!+pC`a8kg#HRF9`!PWw_mCFGJ?=;zsLxv^SnB_=C~Cl`Ga-|Sp5
zmFxbRGu1ujHR`YV-*Q?ncX1O7FbeO#q+L<p5I^Tb!>Z*c4qkEI&v@k++uQ|D^e?}S
zZC`%dTJgw}_o2$KKWIj-i#q#N?{CA8iT%IK!*}ecFLqs4|9QrvLwnSo-nUuyEniNY
zU-W;P{HLJ*Y4$(NpP%`ff9}z}J#U|sWG7cARh364{mMGpHtn2l>b~36FF1dCK9x4z
z5c5x4Z@2V6#dkaGBf^7aAMZ*_{VuHheeDYuk2Ugtr0zfCTATlQM%7ye`%vzV)^)Nb
z@z+*QjlN~PZ`C`ydXLO%4gQ|Wq_Ag9|9tnlJ=H&CchhHIkAUK{yBgZ}m@AgXJMC@R
zGw&2@+$Qdw%ul-NSmJ831>5$Wc=GhY?Kj7cBpi*{RB-<pS8u-Y{1aPmGwL(#{E#bm
zzNH}kY*C0??QG@)+FCWUf4;E{@BUrZbM4a3Eti&GeYSnu-Ggdjy+J=KCfR9NR^Dw$
z{&RTGIp<kc=BrCx)^YC?e^TRLJ>k*k3GQdV+N^t2b??Z|dA2{Nd<-tI6;Cg)-M(_#
z;riVsHZ_@dcXb~=EPnmqM7apBpOv#deYZ?hY2Bom+VD;9!QaOoVU;`k?yQ|u9}KI(
zkII##`0Z+5RWjY=Q=sDhH52EHeA2dhy6V!2^_)9nC!cSb@I3p;@0L9d!TkFtTz|Re
zI;0k#&~5hLLd!k$1w(h{{Q389E`C@p=WlG0@Ac8TpR+FgZ14<cjs3-;u3P3^wBG%E
zdHJ<@jbE-`xVQP;rGihFb{$fyk6XGvW3#<f&E<|ub3gpfdoOtRWCq8y>eGKVZkx5#
z?`N!4?dkKsuNh9&v)6l4>a^~t_0=Lxy(fValsg}<UmSF$Z`vd7F5ZejVYMBC%E{K-
zW~qMI@}Xeml1W)CVwn|l<nJ6Wx^YvYCUJ_gc-o10-s*_YejAqesuyoOJ1wz%-O`F#
z0*Q~GG+lD&oHen9vu*N|dQHtYr*1#@&Dz+b`SRkNC!ISyI(yiZjg}NUupQ1$H{ery
zXO#9R?$$<?d%^CyclLQbn-wPTMf}Fg6z{!%nNM90ov|a)-v4ZN8*BOg*Qyngncbr7
zUSgsV++CjbdEHZ6xL)$#vCcoPlCSq&CpPrSnX|h3u{J>=6K4NDe*MkL$YUG4jkm>%
zeah<n!>Y)?>glB^6WmLlBpQnExG^WFGfV6kqg|c^r<?c@#yq~JvYlQZPo6XRTb}g7
z!|A6(PPFoAW!qEcO8a+jI&t>U+S$LP*Ep+(X++(wxcL92Y1gtF6~9?@--{hPB_cTI
z{=x-v&$nAth22cr8<&4XI*#G_b|=m#9@`^6=}V^N-TH9a+IsTIYk5(B{;j(<QSoQ-
zzU@0sRk`h(_2t}@kO%AKV*R||-YQTk$&vhPubRzwTHp0wQtajWQr~+2ukks1bnOn_
zwmSBFN%JbRy?VD!tiD`U*ZZey!tauO+Kdyli>DrRx^3lgdzWmi*ORHq#@4Q9HVav}
zg{Vz(IMtNDQE;>6R*f?ovto7&m1<7m<rd(%y{2M;>B_adty#CTZ_ko)GF|xUk;2x#
zUpJ5LJ-Fp%d___B)}t}yI)+ZXVg)CpdfmmRujiGQl(3THlYbG<o!z(fFMIPr>uGCt
zReSvVuz)pM=XCT_^&du0suGKr-}b$`Q7SuIdaB{gfau#7>dW3nA1u?W53aF2@LbDJ
zPPy)x^2Yg<5rWV1j)r$WT~j_&#p%S1Q`h*p50=ibv^&7OHhiksW`pG`7p?INuHLnL
zeVOc;l37uI{6BsEQMC2^lpy|x)@2?$dO73y<ICI)b7MEziJeQ}Uf1osUhi^j_48}4
zRc_NBzdCiGMpXTG#q2w4w=kE-9X!L&SLbo6|D)wulXXSbje8$k<rSnzD>y7%Gvnu-
z;4i&De=pnpO~a0veV1GCJEnKh2kZ61?yycf{xo;xEKX^Lx=Gj0_ElWWE$g{?T_}sq
zUgd{k*0Y3YJ_GZfZsF;RuH^AWd7L<I?`6J(Z-bl27E|$!N}J|=J@swJ?Oi1mzqJ0j
ze-YeNwAAMga}s~sOnIf34~nO#AN}5Lziv{s!@4(T7rcql%VFERztw8xhfvKwIX=DO
zWld#W_2!k4Css3_f6Kx&f1B`vLpNvtm>(j?X!kYAr{H9aUFoyy>ppQUc~G#y?eKEH
z+qrUPU;XECZ)Yht_uEpc6M6r7t;Nksiz`MOwyj*bw)*6)it`sk#o}Ksob>6~B&W@1
z_b%C98Je5<@nA+|Vdg^9<t3iwmpyndYwByiP&!z8YsNHhey&Qx6PD9|)lW*F(DG`^
zN=tXw74I0Mng8x=jBXQ%n`*}6*_i4t8mDyr#PiL2uP?5A&#9=-Y<YQQ_scE9yehx4
zH=c|L_u^3#=U$|6;ImgzW3sL22BVpdv;D4~6_H)Txa*6?V(<CWbz|dy{+Q2R_B12E
z@7<g)FSj54rh6^w>)VTL`4???C;OVeo09iLdI7WI`s**w=sn?6?9cpAnzi!)`;3?+
z&NF^~jZ?iIU|O}?XoYxaGE?6k7ekMVD@@9wAAFr!KiD%D`FuDR#I`r^?LBVx9VZlK
z@=Ru0drW0dv7B`8p$UuvWj?QYteOrgm?#ICD()BE9s1@sYw@m4)BO1E)h{V3EOfNE
zc4zL3C2Ox<ydgJV&c@iNXw7!5hW?!BvfF{Hf1bPZ>(;Gb#yd9e+qHAO_qK=e>+G-I
z-nZA<>`mY^7xlld_lDT>S<F|PAtvsv@%1TF&!z_nY)Nh_rdcUGJbroU7tN-nZ=T3F
zEON1V{Pq4}-Zfn>Pd9#AxjbS*ZuHO2l3zVi{hOU%F8$K*>wsQSudK)YUo(rW&YruP
zX<x}+DI&VK^t>qZ&5Ij?<{53XFim<;VUV!R!C>YEy(7^_&dOb87fDpA=zpb{%T<=}
z?u&D9i;vfn=@!o)O*h)NI3+XV_>&tqz8vjl%s=7Vf1)h+|IwAz?`^*t*RK#rOj-W4
zs%_e8CfS;GOt)Qj9@-$eJK^Awu8qC>ENa8ty)!m1^_EC+csil)g7dBtA;#pk3q_|S
zxQ?c(vV~ihcDk+%RjqHET9eQ)_3xL=z+X3(l?MDPot?Fi&0v|s_V*J7K1~)ho91`9
zEx6=elGS>ra3NL4oQY0+Nn1lMGA%ncdE)hLZJ|sTCq-X=cx{$ew9d7;C$jFQuo}tn
zTGiT}yu5T{!jEpZ2yM}y&5qJ*w<?}qGyP`P9Fts^#~d>8N>UqlS;%eJx_tT8&Od9l
zU1!UkD1VT(<b~@##;@X4E7i{`%%8eY-)p;eQI6T|kNg)rRpUOZ+;}TG_n1lMYY*e;
z{14BsesWg9T|#&9=WBV7t{o`}@0jt<P%!OG?io$Zzq*fl%vUDuTDdhwaaWt_)M>4A
z-_$KCs=d6=dinboFWQ^WxhRzU63LrTUwgjGF{jx`E49(G#`ga@P;c$2RZ)N6owdsA
zAq{{N$qS@Go%iD_r+F7D_BYLW{e$~SvX$XoQJZDai*p1o&vm^n&wXHKi=q3GlGhvV
zPS(G2eOaj8vLhwa`K_O{gnfNABQGv&#qGWxvkphumY5ex%<n@^FWoW0-So$6r*~H`
zuJl%}k36y3^pkjt&5F!sZ6`UQ+y_eOnbB+qtsXUY7;B!W2&`NZxr(u6mhzV;>aW_P
z-CRl{m#s2wypcXN!Dw>8k1b{b(W{HA?wn@c=sI(Hhf#ROtBTkYrn@FBYq_)jO5ry(
zrxfYJ^AESlpFWnm{=$XHx%+Ew|KIcWRj`3VXLKEpyu*yU^?!K^(;sh@k7iiE_sf~-
z^XBY&eNx}9?tAU`xx2-Sjwyd?&v@tm;O__aR|oDhCcj%ybj<Sw%klTAb6Zd9a35RS
z{d4hw8^IEb=Jy*L%h$a>srBgGp=SGK=bPV$RD76Q@$AUU?={bVewVlWmw&$gd+hr|
zl@`x+^C!kn{NE9=`_7Eq<hPGnX8dS!74!TUqkQV<%H-npg1S7c4@4u3R?3{ab$cq?
z@8}nODPLFY-n?Mn5$Ut)`)hAY-}5N_Gj;9ZcaxfbvQBkWUO7Sjc=-h_t@o{lrE~h9
zCbn!kaaZc6sp9t4PeHvdC%NV-&Pv%z)9inKzIKI*{aN>ZH%(wS{q)-D9joObjRt{<
z9nt;f^*N4veolIGl=V~TpV*(bRtDcL_`fpu)AIE6%6kFdcJDm*OW>5!_Z46xHGk&t
zoYHtwn!@>bQMAu%mfsl<7M*s?E8)?RReP+IBY1CCBByixk+$Nl<GVhD#xQ65oYwoW
z<W|l?`HqGM>x>_8TWP#Xo;rK>>vOuLZ89I^TP!*MSt)<D(csIrahx~5?j6HFmelo=
z>pwg*|Nni`q!sERk~8jYpZceB(skY4UsvZpd0NOmarz4;$;FK~Uq6xC#MJsAZ$*+t
zK7YbV2`(`!UKgzm0uOi2e9O3BdX>fPy8$1++zqIGl(&MX;oybU3j`XD+zoJ?9J*6F
zi!t1JYtNipn>TGWk>b97B`kDG^}EmP>}_dmdU<bc1SO9$KkmNnE8-{0qP5rV^`qrF
zhnYWx7uI~alGLAlysVII`ljT$7jJBwaI3HNQrVhITV%Btb#45_DLpOz#s(#>h1~`z
zu7zdN(|(%fMnpQTNk|e?)Ss&*J#B-nvAjvq#QtXO$fr-Uc5Vqj@m}!Lj04)gpJ{(y
zwmV#TzR;)NCZC+0>KvEHfW}Z%|1Z6w_(c4<?s~Jkm7%-5XBG8w{Y>rsvt&a2Ma}T3
zZgsvV-p(re*}BJ1U4Hqqy`VV$pwC^o)$L!?1a`-B=ck?%w(s7$drirMKS?<%OE<I_
z{hV=nPkX1z){gIAxl$TD^UWVyPTg?nvG1~w^tQmWjB9Q)bEP&YFoba);%?8}(tSVa
z+PV{0YWLk#oR<9RUj01%vzL++q9SMgZR2O%=i=Sp7QO!w%U72ku7#IXo!mvGV(rzQ
zOqH4&Ctjp~B6Q>5z$*>A3L1jDrta=YS)r}yvWioPn^Q1p(*f4kYRdc{ueV2Nw%D4c
z*K0BTYd$bBTWOlDWkL3=q@qrh;<aX)u9`xwD=Yp-gstJ_P7!MQb$O+btP-QW7n4oZ
z+a(FhHS=@Uta4hharMT{YnQHCxN6=hWv>(a=bBYaaNl`W{8c=YNqLLZ5$9PI^`F}J
zb!}DV=k>Yz#qJo>-|ELo7wq?J&;GG)YJ^>g!JSQJoxVH0Uq9WxDdGQPfi}VH8_RmX
z#MeB(m9m3td;gb*%U&&e^YP!4wKn(aCw4IZ*`mew!TzNCk@95QkBgN;*yhwPUB|@E
zxJaRgW5ewN{T`1?4LjBSrxgF2Dq7v}Szm_b-2Ml1Uf8>Grd?pPo6q-G+IL>8rhMU=
z3|U#F8&fXdFR+pQwf)DLTPY@8x7(+ig_|$^^|mT(dijT)^+KtWr@ua7tML3|y~6gz
zVON^-)NJO;`u6^GTdn&>fh}9nOj>Kh$(X+0Wg%xOr2A(YOZ%{W78EN=+GDG}lsErU
zU#{6{zm$zG5&TAPoY<VNOemV05x(4PZgj;bmuxpLAK}OiCMP#v@MJfv%FXT0aNhoP
zOR0WV>=mKaysR}-=LIdF)gLdtIDCQp-05ot*Jmny`IXttcdqlyZgub9s}_CM$_Vb4
zy1KCP_FR9TG_#s%WhJX`efJJ(pAatsO4avIowR&ew(3%B(0B37kQ4gZPt;rgbou><
zbu{~9Psq;t^b3@F>zAv|2Uif&TlYjM*E^nQo>jA~#b%K*fAgIB;)QbpL;Bl<n75iP
zR4|lk;JuP?yhEqyZQ~~4L)&KuFFZ7H3Fqh3<S9J|QldiRMVm8CWVphjHO?mmsB7il
z`?+|7#=R9?C$tM+`K!BDe)Zm~SFWY7Ugh?iMVBs@2Ij9{u|3VNB+2K+o*A<jKXvTo
zkh@}8oW#bz%Be-m>EnW|A9)-{n;#|rDLB}5ZPn4Iix2nr@(BKvxBUC{$a=laLY>Q}
zM9+C`cjlZym}<_>8wxiYZ_b&$DApsXMR@Yc&9?iUVz}CDK6cy}T3{pbU&7_wQ)Wx$
z{@KAt&-@kdoq5^q%)|{H(}T~={-E|rdkaU+zhVQooiiGy-7sm}_~^5|s)&!`w}#6H
zR$OK6RH!k#x4qix!C76?*~(X^&3(M&={5d8ijxyht^2Xy@}HUfRzJ7w<F}gQ=uycO
z?6ocZvtxS^Q`_xLy-IJ72Nl)Im-ybYnz*f3MOA%zGygBGd+XaiBx}_eKM<VvSMYkM
z;VMs;?$2U3i`QO}y>seW4U=v61MUuiE#5DKCJN1WS^ic)TK>@2J7?a{J1|@6>g;mu
zycg{={`GvD``Ek1_}8uPjbg3y{RE?}!xx5`tgTrxXG0YqyY{I>kHeqNFmPvVy>evf
zW3MKos7qfy-Avo&!PcC0Rdid@N0G9BRtG+|EZ=qOz59w?TX!v0e763R`@w^AcfDsR
z{&8o)`>m5VZW7YYUYYHAbXTZ9-~6sNJ{@5_>xa&NSHJT-wVQjA?(0bvf$u)K{d9b{
z^>CPMZ)vGk|J*CHv}P)lELi!cY{p#~dj~mJ){G}RnL3!CIG<g+Wrm7jG5>A7&)b><
zLhsEfIJ<9)`d^MW&k9;t59=OzyW<t}c6P66Y~}Cf?khO>o_E?tX6--8b+_6U%)hY7
z#_RMWx9WMt$=w$D+)T&MunI>QZ(!v+-{a=y{-S;H@{*N*c-nXl_$J?(+{P`iB_L0s
z^jw;0_PLufGt+bWHyz^RyY$G<x0C6(*~6=k8hkejKQ`a+dF%R5pSNz+jJCL(&2e|K
z#>b?|7oRJn1$T&PeXd#SrD>+S*0OfrvQ>*t9<i}roECMoL+teXCeNjU9#QA#9BL@q
zkY*U3Vjod_#xf-Py4)(=XS|_PpL+Ceoox}wY<t3d!9FMcuS<Gviq|v$_1-1><d4nU
z;+fAg3*IgCj9$LP^=-+z$}rV@ww;&KmzoQke@go_{}=0j&FtJ3jU&<p=T6t(TK3ES
z((Lz^S54yrH*QRSb*E&_#+8Y?7OpgOyYs2v@1AgvTl4ohM?yd8PyePm?LpDc>E1%M
z-i4M^<WC*GW_JJCZy}BUF*~D`_p3cAlid>>^lJ8u+~o8W(GN$@oj%okiX-4}*0~Bd
ziTH=*ZB9*Gp|TOWZt04@J<IHWe)ym&HF@{y%#;mDTjt3tc4=h2e-Pl<TAszFU-k2z
zX!Cy8fVen4jrZJ-WVC1BSvxUaxM+8j-p$rKicbtbu|E>~Wc9Lj%};C7pGR74R!s|z
z^pd-BVm<fH>GP9a1(n1e)#ciS{NI13J!|6L_0b=<g(e8!xBYW&>lLlKviIA9Z!i1i
zcj1%9`_`(zO|Oj`1H^W^>rQ{;^v>gCdU8OW;(F$tMgNj2n17o5xUU}7l^JSqn{~7H
zbIIUMj}FTTmIr7oDKLml+uz{yQ1OFfMBl<UXG+q!d5{16d;7olrm(!6a~uV)c6_zj
z`}Xg0oxB@O0z3PUZr{uC^zi;8{7Ofjwx2Xrte<+C-I1^2lV+d&*;)xX_4C1d_}}{7
zsJWq}cs1%``xy?mlPW3MfiD)EEE9evZ!DkVsU0k#wd}m^2gBeCJdE?ZC(JK=)L!#p
zr-4?p+s1AVDYkQUD{mZ`*MDiMck-Hbg7GX)Y>#W*{pWL6cz2awVCDIjQ|ui)+3C!N
z?^kX%fBNNcV%eSf-uFD(j{M#ET4?d9zdKK~7#KY)K4rU$<-dJZZ=On0oLHyU^ez9a
z|8nP@x~unp?L*%gKFOI?zkl)m`24Wzl*g7uN;2zKbhv40ANs`3KY3qte8tP%_gy`b
zo{Lm3kQ31Ty#C(8=s?D&?LVe3u-|U8ea)57Cv*Pu-A$V7UGlreZu;%#`nKOsT)rzS
z8+*BbPVvv0rAxo?|C@N8_5ZG#qN9I<D;)m43Hl`;r&OQxs%{VKlMgaWUm1C}{rg|g
zzs@su=Z@>qQLnyFf7E3DRpv%{&9cQyYfmz3&RlWtUUYm$e9=3NdkXa{%=c{(U%zA8
zI+=%m*YeMt$Q$-LEJwjWSmQ`UwV<M{PReHS{s<kh*+<#jqtvu}&-s2A`J?N5-lE8*
zr1@r~YW+%qpC{k{*!ek7B*@~5(}%O?+cd8qwb3y6zQn+#b!Km8jmYm4fxdN@Y<}LI
zJ#+qnGaP4Xcg<MMRP31W<@NK(2EIF1Gx9y7S)V=HzkqrBJid^hv6pmzdp7P|(>+sc
zhBo&F$EkY9G!4r3{+ehPXV3X+x@rCLb$#kAYOA_6g=b_nMpjs|w%rk#k&tF*@NLE2
zmw&hD={;$@+A2MpNAH>P<bK1r%x8BjtAp>HVQZG?o-*-#@GH*4f1~TVLu(y`1CK4;
zVPuh{_CCBX`OVj)8CuH?*RQ*OfIn%9;_3bbzMAj57xh)U{M0VF{W_T`cx87XcaQmO
zIe|$pwlhCfRCiHh{65jN^tpaeyzrgHyS{7}*Sxs(T+NPidi+l<r~EHkdn!rW;j6;B
z-%Ix|Ib8JEy!w8h@RGQHhGwV!&(WJTYgW@Ne_uJ<KfC__%U?1@{1nq)4<oJ5Q$wZ&
z#&zEHtei5fTrhddE6)<Wq|ItdClXZJYzvm1S!7)`<?*w(9aFD8J$0H{ZMBj4-rhYH
zkGP}OEd6uk&hrl&HSfx3J!*f>y1`gGOYP$|<Ks{BAAC5Nys+WVW?|EfyKX&>maCK4
z%^n@rH*w#^)KJdn*2}d{Yim7S{`=QCrK9o9b?diHP<+C6zfStt3X67um?l*v&SUp0
zW_{ewU-MgYhlz`1edbJ_;*N0EpT^tlww1k2o_%~-R(W~f+8c3`b0l8hi7ieuQLn7L
zyG#4zvTtioZ{syrT|GTFH#_ZD$SEb!z}l!EfBrLYX_qZGcwsDkZ1K?#Ry!l+zPeD`
zxrxC{s%b`mTY}S;DF+;KW-RyTl<^P#`z<wq>Gfj^)dJa7yl#@J8%pK89!ShwZT)BF
zxx1mq+t%JnZkg&Xo*i15bo1J@G@-z`(m7k#?=1FM8{R4|QNs9ZQh;)mR-o9ywBRcq
zFV<ai*>dH8X6_NAlU4mG1z(R{j@euL>&?Djnj%H_-JG2bPMxe>`|HWRUsbziZ~8qi
zX2QA?t?qemV;c5t`li1<Pd-OX!d;C`(CpoP$6ph8Ee~e%7A{{dSC+w{EVu00ojFZ^
zWYX6ezcG!<^yt(Veg2-i@O-_y(DS!dNoQxNmz}IXxb156wl(+se@(l;x$v;<>Gv__
zMw{aPvFush@b9ak+3|{mw!pXMiF#WSX7H@tGH2yY)&8=JHvV$4ucnKLTOMS4ThNkg
zaCphR^K+KhvU(|s{1*FXr+<7^s71c&lqa83183~_`4ji9l}UDv#knsluFOB%TUj&b
z-T6OeT}8s0@pmq>ST&oR`u>YyI)CPqvznGpZSn`KMRtBM{v=n(Um$t(c?18fSJO)D
zF3t)OUi*tJbTzvjTi=!ThAAg|f1ED)XMXbkj9Ed;{*~N4b)&lbr_I)xS9!a4ojp25
zpW$&}qKo~kQo|nEs|)>A#hxZk-YFvOt7ny^IOEE`s>KS%rZaofcD$<*w3pwya86A0
zxp`MwpN6eYwcZp_HA%z#`X1%;erKM=ZQ%X3YO?hCzuhm73p-k*#D;8Nv2NS4U0Ph~
zQH=Y~M+dUGh@EoG-e>xG!PS{>qf8f8#$T+@^b5;2(u??=vMRE`c&Bmcl&aTuZ$q=!
z>|M6$)y=h+#m<8Ymn1G{7Peo@Pq;_w=U;!~ZuChy_-VQ4ljTQUmP}?Uj${v3^W{D>
zRcFSko?oFapFI|l*sZtBGeO45U(!mUHilj3g~IB-xx4<>IwdUHHN&WJ<+Z~TW-|$2
zIh*d5ptNY;uNfP}l;25YFZ`<8K69%;a<HXYveLR>_eW->W%n*Buh{tVja;F{k43wc
z_P+SGva0fy<6hUuveWauzvrxN-*suOf8p_xz_RTcyUkDEVZ6Wca|%b;yn^*bifTf0
zZco~2v+85Xfx`PTa#s&+IJ)X-V6Ldis!X}7<u*Igp8VsLe((S2{L?kv?rf*7yZL|D
zk4>EX-&*~qYulvh*Vpg2nN#z3$NuaCZ*K{&n56yN%KG<=zSHUX0^(OUvX`n`-H9-&
z=*l>lBO$E)*<bYD(mOS`7MJNPy_mdk!bL3&wwAR~oO6S7R{SV_9J~D3@AKD9*vn1J
zzm$H}**m)~VE+#Rxmy!5BJamMw0xw+8xr<o+kCrybAPsLrY8NhJofxq-PXFJ<!m)w
zYYWb4=gsubcMwqAtMc@T&wu9Vj>%hX&Xn#y&i3=F<e$_(SG$Ab7r&hy*MI-mwa2lY
z-)y4Z*7T^DvlZK#1%w_r#P!4G$Jf7SE>5ew@a5se1O=HB?4b{yDSeGx_{)gz&sO(W
z=Z|iWmyND2eZ7C}?b|yGGk$-2*p?;pGgo1a&YAByvAc3Bo^EUUQuV@Yn_SkD`@7t)
zWY1kQ;}dIw4flZ^n-iZ%FOWa*;q#*IRa?#~t##I~|I~GWWvj%(|J$AaWf*Mqxwt=a
zZT;qyNh`!BvCi&sSk(0`C709S@1|=Tq8_fR*n3Uj`;p1p*PpqjrS505>C?>GnY@o<
zg}Xcdl}}k)TyrXwOGx%I%V90yHP`kEO=-UQ;M9Tcg)?I}$ZBw@q}Q1{|9AgY_pdms
zrn>X2Xlsx98h*<_&O5WxO@$YqbqL`5@b9@oQ}GG89h-e3L|>c|eAo8;|I_D}sva?%
zj{DGbNZvTdC%#2o?PmP`|99VixcxL&e{aiuyNj;>XTM0kKZRp;d;F_MH4FGVe*Rn$
z!cnyGdT{^29EozXGdVt!>t&A?{9Sl|vfaVoC!bA?JN7#>bjANk#>NS68*D75d7O&m
z{3|V=^4_;VzGr>v8Gg19+uvN3{I{!TuB?mA$W%%^%+_6c?(Vloe!t~jxGakmNql7-
zsI8@QLAO;b-El%Id&K4Ix0SaQJW9*y6#H77U-yphk243~jJub%CLOl*x39d<ZEPHL
zadE$0)$58!5vTv|aR2wLmVe^YPumZcF}`VvUG+)+tcHC;o&WqbA&GqH2V<7{TZPV8
zCDO*h^LT%sCo5C2N4KEO;^a#`2c9f7m~=p4f$xvWS5yr64xGu&&QL#~k?U(X!TzuG
z-GHf=XR7L+;c~sya=^vd&?!HasaQ$4nImh_+j}0TCv<-bEMCN@v`X}v{|v=#hZ$Z4
z?y&Ej@wP+o)bc)kk$J%a1{ddr&$+pcKev;=Z+`tR-tYT<e7XG0GMCfL{*FgpmyzuC
zX`R1Sc5dK3W`3mCQc^IIFM@CC?ydRmElaBEZv?(DzMwzV(07(r%=V4F6PIo~rxCMK
z-=HZ(La|ByE1Q#r;!fAdzO%Zg-`r1I|Jb~dm;YP(qr5sn<s(y+&-lK4{d4Wh*FU3w
ze*F_%t+oA1$+{m__iCT?&Dr%T_OA55%BZ@o_m^)}+nu~sGo^kvm(lHD&2FyZh;G5p
zZ=9Fp>+x%zY2)}>Bp0;0t39NMt>EjUmoM+{eeb`%?$6Ps{gd{+zMeku536Ci?U8#s
z`_5+v7ysT^!+eiZ;@@21YDqP9h3Bcp7w)@-%+l~Xo0!tR>C1xRHkYl>a@t(ei`b^0
z()O5tr?~CeW{FE1je0)+eEsu`(T6?XxqLJ$U%%OFWA;9d;bYOE-;9f=6wmh1esUw{
zR>!~OZ?!gWe+OlzC(qhaI$_${o$I~dFZz`9rBIbYQ=Q-Ym}?r-#1yXAO#+DmOY0>$
zeq7${vQ%KxhPydR7Z&pz+P~PpR6m-H;eCVPfsLA*=ll0MF}bvFGWe-!wm&H(Mxa4B
zzuWY!k<(kw1%E=8PrX<Ar0+*=TqSF6H}8c)Px+GTt6mgkOn<fZLjA-Il`BdwuX&O7
zO+03OS;C|<PnWC}tFxE>;_h^TFY)#U<?4xt6G|HsnfE+>p)R@SX@_In#cQP*%hrB=
zFw;1`zi&<LSEsA5Hm+at>+<}BcTKzRuVHIdnQ<y1x7zQ}0+z*%8#<j@W{Mp+bWMFG
zbHP!YZe!KiAA_0mtN!fEum8(*Fn0StwfgDT-aA)3xh5X;_Mdv#_Sijl_b-e*9}#Hq
zaI*(XT<(M!j|_W^OAjoV+8UZzp;$Iy@%Iz@`+v&iw65g%eky)Z{%@te?Cb2?HUGxc
z^D;{OEp4k|KE)<+@BG#5DQXk1E!_W)p{MMx;qK0p+y}n-Rqj$znt4!fZN-a(hBwPj
zUCUABYS1=&!QOk>Zko}8E#8{0e>N=Jzv*`L)*BzvUFA1bUkfZaV%nhH8dfoLo%FHG
zsgvAJK6l+8Jbi0qu>bZI%cq~({MLNFs<Q@v=&DM;$6E6)+np<pni>C4E3CqAt*U7o
z&%DbPrav~xs%`&zOD=x*w~xBfH|}qodiAPy^2VvArrODWG!!dS@9sK%^7Gb{ZO2k_
zb2n{NjMTpN`~0Rd+XJ`%8E&1croF6&QDQsaGyY3qjXP%?5-?R$`xN-by+8BQWTX2l
zPrVOHt79q-O3-_qw2bvx*MS$;*L#VB>+WZp4m??I5Ty1ju~GBFWnsxjRg)b2BTv7)
zlDnF-v6HK3+x&gg|Hw>T7**0xpU4p{w9~tB_SC;hf5dBiP429@F!$(_^E)G}S<F{I
z(=5oJGJX2>Y1gm(JRB&o`9zA|xkLRcCpazGX6CzJ{r%dNomV>M#orYw(AB>arTM=q
zwe+fk?AzBR91~KVe@;9pckBPujR{6-HFEK#&(}tmSeW!&xu!BZ!Gh!Np6M^&zp;6&
z$hM2oXW2W~sM@>CX`tqX#P$Of;s*C(cGa%+Nm%vulcG7R+KS)nBpW+B%3mfQit4dQ
zZ?=2w%6lN`VTEts`5lQWF|N*&4#Xut`1e}rT{7QEbsN8OzCBwHO@4n`Q!{6Ap}gqS
z)#vrXtxg{F{q+BWo#L_+7d9zvKWf9EcI4DLq1UsDJyW;MsW|leb;{Zq`ht@(e(rZW
zUC%Z3f>a3Sx$_<sb?44kTw1b8`d7_9t@x0Kf3}=E{_|zXsz9F5E{_87Wc9TNR;lI+
zXGcHy->Z|kJ9ll3;g6l07}g&B9v;SS7cY0f-g@Jlvd^EU9$)3Bv-s<R|L*@Hb+<je
zBxU3M`jYtM{3oBj{gQfb|NV2_zXj+1yb{ZO73*;S!|QLo-#L5y&s6^UoTL!_-_fJ0
zYb~oy!cXtHQ8PDKY}+(TH|W=cQ!iakyevGV$gRWqf^pvYWikm%)x;iNc;Mm6VpICM
zefRvB&CgEWT@qB7U2*!?#<#bRFIzTk{{0;v=RHkGRI4bkwLRwih^KgOQ5$FNt(Kpn
z9cOOk9(k#o?8oP1d2SAqyWG(zS;x&+kM0#cAT!0z{mA`_2aS`f(>JW#ws>*v>#$4Z
z6-n0<UoBMLFR*%LXRXHHb1bJ^T{mbMC9dNzZj056SbS;y*4u)y_iu5}<>Ol3UUA0T
zX^;4yE5`S2Hc#I_^T2HL$u2Q<6Zg*Qe>nL`rBRDlpy---FK*6>20igf3CI66?6ggN
z+Wb+vC+ug!AE}#B@z!ZG<z1c~P(A<sj$J{4LS@lPqlEW2VjgJcah>eGx_DcC<nw@Y
zvo>o_-MH)Xs_hE;pW;_N)Vh_X{)TzViJ3AzJzG}9xEt7PU;X!E&A+7iN$fn0X*<|G
zJr(4qFmEfe*)!Sf^hx$A>vMbAMXucYcqRCPO>Oku^AFXN<-4waFn!=>wr<{o$FFvj
zok=-Zu_^J1bU@jG4_m(!s>RQmxJ_$nST);n&uI3{qt&NfZoSHRKUenBlH9f}9E*dj
z>^^7ic3*gWYC=<N@lV~yl5U(_eJt6|hcp=9+Sng_8m{khTe<r7tXEc5)7QQ4mXE($
zs&LC@$IgxW7MGuF+jmbmyXa5q@w=k)gvvADEjsmdZ*KN$Z}0x=({|s{`&AuT{`*!{
z6nj|Mvc;MA*iLVGUC{V*!U2)x1}+IK?^P8;UPpfV`r_H|v_{R#&rX-VOxpE^DekmY
zj?uAys&U?{(w03)SbHctbMEx(MRiLj|6$&KbIXxw9}hQH-g>Yt)~r<Jom=zvl6`C^
zSDBZa?LBGkpx*HCZ|zL2+{qrVPptYpLoIi%hqU){SH=n5HYR`PeO7;Jv_Dp=iS;@2
zpYEohbe5lN7Bd%_nHt=ye`J|d**DL7uBGyKh0v<J_1^c5G7N<mPh@3W@ojnLb1Us!
z>oYa(OmAi|Z#pjh?d|NHkNJMF{dxLZz3$86&fn+fI0nc+mG$XA|KZ<tof5@YhOd*J
zerQmYUC~<fBHrwVZnv`2y}1f^uI-R*beubFQt0HnY0ny)0@o{R%+_Dc-?WHD=5&GO
zhvpy?J~mBO$D5hIopvsG(<B^l<)r4Tl;xk!6lN@Vt8t0T&tU@p%BM}j6Mmiw-pPEf
zhT|EVedhETGa7<~HC`kn&3gR)-(vT)UDh+RtNFeszkmO{?#-9EI{DYw<R28DX3dpO
zIXFe1;c+CxvAqmFp<K>JhJKA3(~ll;NN;#(wQquH{qj6XH5Rp1M?1_aC%#obeBifB
zkhEvsOLdi0Umlh@ip`t2L#pQOs%0^K&^=eTe~$I?Emz)h87G`ywI|;9?)p3<KOT)!
zKa^G<SAU+lU1Ex$!AvWG%&(;kGdLSNUnSjPdK~Ley{qK*X5@17JExCE>%=Q>p9TG5
z&GNb;{!~ci=Fh%fg-Q1|8pfTKn{ij;l6(Q{>K$Km^A6NiN8DYKa{iU*$+8cRG}8Xb
z?wx!*V(}!qpTdvJr-g2r9vsiN&Dz`KhW=ZB^K}~k<pTe4#m4Srb&G#)%=GyD8TLer
z%S!wc_VMI7)p=cA{YY)gvYnjrKaPK~pI7<ZIH6$a)tQH;3%I#*c-~j8joiU`RV?P9
zZ^qdtYJcvf&$q36b@Tk*<X3N!m!Ee!cfix5cz=)o$>$&Mf+Btmf9>4gG1XT~&vg~P
zPMX7%?4Q_CXLs&QjX>J$rn^h@xy=*%5Bc6${Y-63T7hughjqK>{XSW4SMusg_5RP7
z`)gR(3vO25Q~n?JZ{s1~3R%S>>9e<+P6_8tZV7qrr&0Qb<+-)uuhvw{N5;ncE5Bb=
zpZD+1bG!EQvHSgAFL-kB)dyKS^PDT!6hU+Tg<L(ht%@^es5KU*oK81mD`n!D-)@$s
z+Z?=|N0>?YDzsyKT-V^956>YD4@1)>{{6={xPOpHlk;9t$&;P8w<-CP|A+fe-_Nx)
zZY-ZSbHe<2b3;F+mHy?-pKSQ{_vQqfU0~A>pE<TbuHoUYxZ~gYncuA2q}buzu(vjA
zzAfkPoEzRo_CoUCMfFZ<Yw862Y2nsQJ1XAuyXwHM+b1L0yFTo{zcuICcjMFVWNa^9
zzbB{e+-YroBHq4UZhQU?W5xP{(3+2rerT~g4Z3&!)pz+AcJZsPudSI;6nmzbso0-u
z@!x;lHB+{Ja>YMv`G3+jt}{pL9oh3_W#@!GE%)61MxFK9CcU(%gmpR&?4i3PmLItB
z^_6>D#b1>b@z?&$-DNdTV8#l)WuWwF@MPHm7GuMX4W`Fgqt1DWv|6n5$~jW8qop!Q
zV#3KB1K+3(l7cyE)fGD8Ym{mw^g_C-7B5_-uw#mo&(;D>QRay==e4YFn<6#!Nz<d)
zS;yU;y@)+6a{kit#EzoxL3S=T3!W~F75|YTT6$mkRp`RoZt}u2ykdKz6ZS-Y*({;>
zGA@l>*LC^S;$IvQmlBJZdS?`9-8!9fwA!U(y3@tTcAYCxxt2`Vf=_2Ze0WGD%~iK_
z8kcq!!=ghK9QzhsO$$ws$OzsQ-uL%MFaI5HrBD1DBkNMDa_b*mS*aafaQ&wD@^7-1
zRZlm2Pv5@D(r+dA>uU3#QLL$(r%TpN=}R<_d1A;jwd8IXznSKPJdGnP;)$I%HaK=A
zDgRJRy76(6r{LWKYd<8K2z_B~+Iq!u`mJ9_41<5qF<ATTnbMDN%W{RUTc1zQwcNjB
z;j!oMZ8xv{?NIu5)7g*r7M9m<SeAEk(=ppdt8&-7tESybW$l|6aQIc5((}#*`xiZp
zaE)x;zlP=2!YR|QKAvA=cYonOu~hKz)yX3YPKJ7I8y7o%>2+Bm7k!5JMiyt{>{88h
z8^1ojGsiLKl<q>`cpvM&)Ez?4A5G=zjt$qkrFeZtwpG)a6Haem{hlCtvuMq>kTuP=
zuHNEai{{L^Ggrghe3tj`@a<L`Ki=6trOGC-@xp;mM{7&iFI>A55$>$464Uy*;9{!!
z!rA*(r*f?N?<{O<xL{+0tkuffCwM0wE}X5kKxyW-vYy-9_+D)JXPA}My=YDD^J|&+
z{k@`DpCxfQUzsuEg!|91w--PITDMn#+rx`u;7O39r|$lmOGhnOkFD#@6q0Zcvpt&d
zr&!iwLGzl_f>(VD!G-22mSs`=&Usuu0p{~TP0U}fk`K+4Xt_BfZ|T>!4%))aayk=@
zawf>!$XIb)ExEZhA(-8)`EG<_|Ex1S2OiAXl4v88DxA<U>EfzGdSVuW%ao0xB$vkp
zyZ)@XoOJk;OY8CFM>3AgR{5*>DZ=EXZsBvz*d48Udm^80kCNLS*mA0|a4AFbBfZim
zHzcmhJw7&pW1fglb>g`#;c+o+KGll4m*;h5^xx&aerm<Hd;bJnvSnrzKHe_Qdn9Rb
z>g?5eYot6+)t`O8+M6|d&aS`rnJ-Q#4`1W^EjQ+&%^O~YGy5KzMQvlcGNXgBzRd2i
zpW`IK^o19b`Mf^_md-kp@J%b}TY~6JIX>06s?28_tE0`rubJ~cSiik|$MSt`*JZ8W
zm-vOQc&uoX;lD^>{#VYF4++XUu1N8kFs<wGdo?vn$o|=qhs=kP{?#|0-VxJ#qi;os
zfmA!EvO0gjrgt?zvXVYby52wU#_i3ehnZIg*Zn#iZNC1+ibH}w)&K39Dt<k8M}14x
z%lvrLJv)PB&nIYH>F+*qpyJu_Gs5D9!e3Mj1jHRhcrHG>tYh%`hzCbcT+b2fm%Eu>
z#H{kwDZaI&OaGAC+8a5CPGq<_teCd9RO#l%$Xl6#2ly9?uGyI5aD;6+_j=KokLOah
zxmlOJnfS!`e2Q7LAoschXT<*`Zg}0G%PrZU&Mmpb_R*Ik?N>K0<_Zoojx{mcEX)$K
z-?{F0pKOKnzg2%8uGE|}XV$E_qLo6<Ge4OB=Q#89!|b&)i{g#j5(<^(*|r_%>D};a
z>l;x)mWw)qEYJSWR^o8^DIYfVe}>yn#>)=#Z5ADpnb$q@Z>F1Fs3wn~#J_b+jh0KA
z7s}``O`d+pL+eZq&n*UnKf7n0ezH?CwV<mgZCWCz4>ZH5(NfXi)sKeq?jH<N*^~SD
zJ!17XwlCt4@;}O<V6=);&>)>tu%e*2CPA2AP$Ir&&DXj=6Ka0lYd<Od)cW#MC3DxE
zedjgBm+dMvygS8ljdH=XTN_y}Hl?j@oiX9&miCYG9^0jFDi|c#acS)1VUpEkpLjTJ
zT>`VBg3jZl$y#p5_*5$v%xD#g5nb%UsrVvYku~SYiZ3t4p4zz;Z9XEr$GKCT!Fr$8
zJO{;zi%v~ZF_~wz&;8P@5|2hp*`Nmjts+;-G!$8*Gd&!yv)R-{$%z=Ueu<r*@OMdH
zf24bwe88#2hh)Sgw(1|UUQ)jF?{3};{5$!#e6iWgzvg#FB<Df5GtVyzy^wLU$upci
zLt5Z@6mytw_skg&R&x3)eO+8Ab~U6^i)qTXOE1HXHy%`3`D^=54cBXWxfV8?cW?as
z^7gD<Y4f!1->BMfcK71hJhJu*`#JOP-oK~#U;2Ohm(riiCj&x0o=iynCM{)oKW=r9
zcwVxOgZBK>$0NK#mkJz|{A5v_8}{~IcTdE_6SG`0ckbB7WApl^mQ%sW&PC>r!!;I$
z7XQ99)BM||?{n?7_Otgh)KB%f$$D$L#xK8{jXY=f++DZgwu<(#$-K(<8>|@H=6{U~
zT$(GCDSPwMxnnL-h5jtxnb|8PZ_SK&0^T%|6dqjEx>Il>Pl`?Hj$9R+BUjWL|F7hf
zep#G+Yr2z7E5Dlbe7SaG5sr&ehHqECi<`OlxN~{VtGA!8v;UQ<{rBs^#v2PiW$=Dm
zb@kNmjfpN-IDdUCj<H*^GJCU|f8IiM{i)}_D%Vf3IsMC*p=LHy+~gDop)hIN30oS2
zvph0FJwvx#U~t)4^4WVjvzEQi<Xa23wdk>(*u0mWJ)MpJo7TVZ`?)J5nWnF9dv(0N
zq{{c+zrU5)e*9W>;nTy*O;od2{LcBE_59!8M>fm&a-J2)Z9b7?CZrt1q#qR0m#DsQ
zvN4~t0?U5Jg*#aGZ%X=lW|ipLz5RVXHrJZvS8Y0N`{VStRf|muELWV{F0toaSNA8e
zr%A#)ikHUfM(}iPTEb@>=NPeKQOBv>PJ7Pw*l+k%x_<V}{qcJ?veuueD}6Nk{+u1B
z?pIEk-*{!CY3iKsU+<kMm9t%4xUuNx#eXiH>o*+=4RVQgdRvhw@k~5L<Da<u7264A
z!S|d`x0Jg*OTOs(_k=v#ah@mv+2cJWtSie3-P`Kj6k>0St~UN-610_Vul95MPrNI{
zugvX#7}wI`$JOfhMsu#fg-(n8mzJ#cUOHFy(uvuQ=W3bNX4)2q+<D01ylcu_t<SGp
zFHPtEb;;aPtJW)~T0HFT6N!RfvIe4$b}p$;F*^I+{g=_pKNBp3=cRm&S@&9hLZ@at
z!?Dc_J=JwSW%m4yg<L)J=Ci+$GB|Wx(fgm@T_Ycko_X_+o3G?|wTznmbe%^==yb-{
zrdb;q({nHPvu0#l^`;djFPRs8!aVxbW#8StAGu$8KRYdYOYK>o;!3O9$yckt?x|A@
zP(P4Ss&*;u`pg4996ll9kHsY3Gu^ts^!C40rr@>H`FCm>INmMa>!0xDkJGt{b|Mbt
znrCOFAHE@QK+Q*5x-ZMd$!SN5O=^dMVoH!l^3kyC2?utEv~h?gSwCXfq`mdv*4DXO
z>_vW^y(K))^33H!0i}MHcQ$se`?#ge!sWJQ(2?3#l?nY9TwB-OyUVorew}f{#m|O}
zJzqp01TwzM4W3mUtt8I!-7I30z@iDC7<>w~-o5SE^)Ktu+x2_?t()9=<fOIyg4g?P
zjo12~m0jXr_w2>pk3V)QS1kUsf7h<Qhov9<%hltKpW=F&@cD#Uo!aH*Ca>D2MRt-B
z+x3<?B)rk&xp@Bg%$fX$GETm+o?-98+NHj0tIXXGtt{8d{H~t0oA-FmPnN}|T!G~W
zB(EsGN@MvtWqI^Z&%El(txsZ0KVG=j*64Emi0txotEh+Eit_v4AN2T8u(SN6gXi^|
z%JIKz((@Pn4)*$=ked9ssOh}?^DDXYMIT=SwLIn>n&9Iz`GCcyXP5m}gzq|V#q;^Z
z(1Q_QPd&b(d%op>%U5tSxb!n<VqLh|fa~xqraz{Qx7E&a_VIMweKYr2*6(o1gRk@U
z8kzn(dG-_ck9_y?y3FHOu3Tg9e>3}5*~b%#VcRxDoW67LcHZ1wIgy5Pv0&>GZ_HZ3
zZ}3NY)4a8hPk*rfpt7?qW{cl)Ay(Hd-wrrFIi|K)P+3?<F1h5A&hmi8of7K0GhQ*N
zxtAGA#?0F3pR|3UvhW0l`N0nbTC)-!cP_dV)Z$gU^j;BvZE~l+L_yTsoZTF1PKB0{
zx5Vz9%U3+iDxJ4^du#P{zI8GO55F@@Uy-wA)i#BD(Q#huc=_r~f<i9E1z*4OHsZ>A
zooV@PHH_|ztLJxLdtVr}-{uJ;n}TxN(Ty&rk21%97gW7*buxdVmClW;d^NXjC0sYV
zx>Pp*?u8pW7Ou^$O@91qTY!!j*VXIoAFQ*&%&zc<hx1=I=Lzq>+Io2FmtA|UTEm^S
zROhql1+q^`Xa4(o^OtfxEtdIm0n;DW2Y;6<2#k%C`LO%D@4~|dJj~8>nVj>Tr<y74
z?TiozaR>|$e6u%ECC?-<Tv<)f$KiU8&-%P;rm4}3X3u+Dd-=}1+?SpG@8^BKXLFBX
z@w+<Pe-cLJa>c(bpU?aJf4=us+jXBkbDG<HWO$kXe6{*Np+P`exh-R+?#gxv^R(`=
zr}8ORCWy^aUi0(by=ea$--=mhv^1qHob})S{`KnVYO~zaKJhi3k2jtZf2pduKeNyH
zwC#RP^~{|&I@eUEc^I(1T)Jjk#pd3%yEHp}V^7Yu(A@ZP-KWF9Tk|KKlHH!VoO}Aa
zQzy@!-q(G@%;u*`W^}-=6xF>~?oG12J>%4+^Gi8y=IZ(v$Q&#Sz2IFG$6{lbxT(tc
z;2w?w{pFG8cNlDmsp#sN$ZvS{k7~sEAKQICM1@2b+L{Lx{1aF?=jUMs{+1bECk16@
z6b88J*z%}ZG@Z4|=8migs>tez`?c%C_U!42eN4x%f9kY|W79O}IDhu(mMEW`qi!d?
z&wl>X(k@x_W<xsjmo$efhrenlImMpebo}|ol%yV+gR3rn>QrxiFj-}jN%Uh^-$SP&
zj5U9#+iU#!dc!bjfq(ty>(}-6m)bSj+&#PV*LKP4zHMH0{eSOv{$0y_ZhMTK#`JKH
zJ*D-1!Kxegn>+A$@ZWJ*cBXTdkcxa|rpA{evzOmscjl0baD8vA#+mfLqQPO)7Lhme
z<%&`-Y~TGpy7HHG{{IgPFYo=ncF*^P@_W9@CJC*3<ZquTVy7VZ<MWb&IalS|e%znF
zQ)S(iND=RlR}zO-Pdedp%AnL%I@I7oBWLTLNft9I!?)<1OG{&SvT^dCZOrrEeVVY)
z{O%~NXR>qSYp=|ly3K6)uH>|T&fim?nNC|$x-{k4d##zp8Gd<IkvF0uZp};WzAYj-
zb#9vfjfn}q9-RF5WhJLxjGA&aqhRgA`x`fYezs_?V3ftPiB(PstRGp<f9H|X)>CZf
zQwp?7%9T{^E$`>@zvrya`SZ!Atwo<U1w5EF|Nh7A8-7Y2_<7Sg|GC<!{Hdp3zwnkh
z#lG#^shgko#aL|r?6jh<D!a2}eW8r1fx~NyN6r<x55t*L+@7v|#k5r=FK)9`%0`Kz
z9siQop7S^n^IrVjaibomSt}Me7-rXQh<wiOz`onL%~C*)?|V*YLV3OG^-GqVo+-L7
zW4z?%*b12TmrC#Q|6k+pJ7?{>kGBk>FJGw7)X_UU<J|E(q0?RNY~;T+?SYb#&Gp4f
z8(v>s^p&?;Ah~7-*VCi!yRP^4=2m@M$p7z~j*dkY=k!~P4|z&>|H+d%?dT~s=cui~
zfol&=uQ`{nj@kGB@*2)?;g2TOQ~8<Q`UFDRFB}ZCDezA9PjC4o{L(?=_>L#e`+T2U
zJ=rWP=MZbR+s3xG^2_|J(wgkamUoZaXSmHe)*iPj%<pqQf9>wm-xs`kP$=|rQurUK
zs*}Zf{Sk)K+aqV5W?p5&tRd~zA<#bWU(24jzrXIXKloAHFk!Qg(0ReI4S`t-{;}HS
zYq!TQvdIkV{C2>7Pj6h>`+V8*wLj-?I=?k(p3$Llh6=N7jY8A6E`GWtC+mPL|6bG0
z^1m({K4ee6p>MvkhVgYJ!|RRx^)CDSzs}gWzwt%>K9hsRPO<9TwVr0eFTV-i`rm%>
z{$;+GZGu0l-+!#XXny1V>jynTPu4#@XfgSHQ~%WWP5tGO8H!=r+h%5%e0uXlu;KWA
z#XmZg(WP+<ZB>=5Y+aQ9yq(yszv<kcHJN@l{QjSi(D!1zdhS<4=_5HirMC}TKg{0T
zv;Xk?1^bh>O6=4)pfLMT@4^?XM@{l|vkF!m6pC;4TxzjMX>+O7gsmI)<-Xu>b!INw
zXTZ6P$-L=YT1&HX{iB`gZS!j0?No1{SK;>~>*?)7w)x+`{rO_|{ukT)-+XdbZ=++M
z8drTdc<tH6gopDk1hmb{&OG+<>qCoE%bXfZ)nytFGJaH@TadcOnx{uD@Lib8p8sEN
zY<&Lz&sFa9<NH1zjeoIp{vVeLryZaD>y_@NFxHg|9lto);M;}k3Lf@;H@M#<-#EYe
zs@5FFrIl++nl$;XE3K-EN&+80oV=LV)OYHJrhP{Bx$oDn54nD1f>U99&-#bO8{}tf
zpZNS)XA)EFq$S0-Ug*7wRWo|feqM6dx3z|o?9DX(ykuGZz-WzP=KjCz`_0c~UNms!
zE92i)YqjxVu+p&~xsUAs*~jb3|9*QTf5F~I;fMIux0bJ6HM2HfVU2grdN&!qXHCzh
z>V|E4za_9}cI^L<v+Db$+Psb(Fq)9vcx?Bv)_tvSw_7Doe7?S|wrgjf)zY)8Ca12D
zj6MHo!iDYsYCqjKP*Pv=@j=YD7r}3S*X&5x;C}T;=|^eBMY^w~#GmxD|9;iPr1Ecv
znU5Kls+hS{lPCLos}oBOO*RZ=?~_-zzr7*vbzarWRRznIY<REbp7{Us%SC^=3qxmG
zpL;d=jQ!d}9IoFgI_xj|>3!P~c5Wj-^YRtnXK&wFRsX|z)1#F$ymqFknJihQdh>|=
zp;y~hygOuZqE>+Yp~ef&t95&<PoA;W&FXTvBGNc%*@eS%o#R~2Zrm`BZI)JK)4ixw
zS0opCdCvQ^AZTmCr2N)do^#%1f1F|I`f`hvv#(m8@l4;1hJgi@ljp6JpWT1RqCDKO
z>*B-x2O?*#nW%Ip&2#1Kn8nYclvk}?;jX;H+O;EXi}_}ShkSOTF9pRH@PGXD$V$CU
zNpy30W~bL}rt?K|@};--bhg>9xcIF=PQLk`bnH)&L%kB&E&p@&-SXJ^JBMM(UHge4
z4gWL#PqaPMeJDFQ`H11KmWz>56;C*J?pRlS)@+idfv-}H-<Bo?oB5MxzWgDme%JM{
z;9J+ZU#FPglRS2>zI$&!ONzU|LKpU?xeam8B&NB|+#Ay}CF=ysmGG{&thXP1lu4aj
zk?~HzT-W->L)nR2Z6lq%!{%k@+ix#A84%{5n}2wgf{<#>g4b(r8*kryW9O4Qr=~ui
zX3=f^eB0IctKt++vDjwcmkj@XXy#hpkUYyjkMq*AJ909#Z>Kl1IsF!yVNxhL^Qg<A
zjI_zWr|7=s6}qRccK6k;xE#~HHY*D+#7*x#T<fNP($Xe1SKei765si0h9=4ub$^Qc
zlsEr$+@r6}q#~p`<GkphbE}W+ZTY4xv3|1Np--1~#kWjd`lDWV^^rLf1bD^cZ6{3-
z5Iy_v|Dl=2U%0JBH0!(~v<0$_{t5n+zGbMbth&3k{6Hnwg}N#y6T6Jk49>X6s!D$g
zerx%vF|(hV_tW#Bx0aRVrbL}mq4t@r#V?iF-L$*9SIwBY`RC+qH=i7|-7Rlzy4og8
zB7IZ#hl3s;eLhS)b?}+_l(XUcReBRvXWR^XXd+d&Qe5L`L~BN;`$Z*tW_hLR``&YE
zy;Ln#)-tL^_PF&KACrEZv?#)qZHK6yoND(YqlA-k`V0FWczRCwvE=jIxzEG5_OIcH
zura$Px8>25N0M)M?tE)}B)n?p-x&Y%JHPE(zm?<tM%nM*D}S$EAA91xp7!f=;_-p!
z7St9xd<uSIUA(1b#epeKdmQ=WuH0GZc=Exy>Phe2FEo}ZI8@C#k*56Xf#l}7auT*1
zUoU(d`gQAe-FcD0k#$c5*6ipOub0`nv+~@tOOEN8g)<Lyn!Wn*JfqsBu(`B9T49@j
zYlYsC_Mm&xN~^yL=Ba9hUDC3XXfD4}{6{Ne?dx~8UPt$2aSB9l@cZ84l`1Cx_<`n*
zhrvF6Io+%cI_=pJ+v3!96+b<<jLx&Yk?ns~^3ddNZ7#3X?*ARi<CXn$U%h?*`POPr
zKhM)$f_5!eOXS@xWmns^#icS`VY!#%Bfdl_#J8hulH8OdaXvze-%K^J?~0vlXQNY6
zwNcyg2Txe5*}mrt#qPHMj|eZe|9$i5i<!*d?>OJPab<g*dGFhoFJ8=4o-=>q{qNOt
zitVq>E6!P?yhGxIL;}ykxLF#Dz9mI>?-kNFozuke+;xX-fn%phlHM1el#~>o6rX|(
zapz|VvK&y`eD$1|nog*|>Ks`E`5sxBO$!&gC6zq+_*|}odwubdIUQ$K^7sEvbG-D-
za{Z<I`_0m$FKum~zxe!j{T1T>Jeyuc{p!z+U;Xdur_}vn>+d?w`+KoJCS6VY1?yFR
zOPlTu+kS8Q?szAuF#K0lFqh}ai0sHVBm3*tt)dGbAGxvkO&^mFZ<kACwa3%7;xnqI
z@8PNX%aRv#I(n~sbz=6FNv~Mk14<T{y4KrIp4&9_%Gt~hyS-;mQ-0!j+sU$TUE1SU
z{NG-%crdOzcyI}K#KM_goEk?Xk4Er)$Vm8dz;c=DM3smi$20u-e_Aj6Y5zj-pYxw;
zkFN_(i^Y1nC(d^;Q@J6q(B<gwM|_UIyVe$6x3wu+`{-%6lAVbdQ^uS(DW%c(**>n~
z42r(IWAUQ2_~1ELMV9EV$<@-;kz5?IqhChv<|UK*`rfkbt181>7e95b$`p80U7yw-
z-mJ^M%izrXAl;SU*)%<Bw{AJ!-ynLr^k+q2gj-geU1WRln>TEA2Ac8P>>0uxr+m0<
zakyvItA(E~Prj45z3HIcUU!~#X3q0(M1AR0J$$Y^t!h^9Os&QMxyPPar*>B!6==Vx
zYJEK9g;4i(?Y=(qvW|`6w>Ixj&xl=~-XBqTblFwM?ebhFK0gpN-XhlYzisQ^<SI`W
zXEq_NG^3_4=Ma`X%&}5mrhfP&Y23jbBv<m};FMz%>TE*l96!C9b7W(%McKMtHE!{n
ztehRBStfhx`K;+xW^rw5eQA8hOtETBU|H%TMh<OPMOCZG?|SnJdwMOS&V08m`6+&0
z`0};2NoQ|w^Yl|abdA~lreuW8(ha+g{tkKgD080D!p4l)+z-d({8vh5O?6$o`dMuD
z@n`2`txGtp{)S(ini>@my}Mv{h~e{1rq3GWTK2wnx46<26s7O=lkcL<H4T|G0lAJz
zd)4&j->l9)Ugr>|vFeokl)Gt{W=_>_GuFNlIWPV4<&9TY8SMD^X!7fp_w#MNyUsrf
zImYpR1LI$5&WY#O$}Hd1Y{T?l{)%fvtc>=Xg4G_&U-14e+sU?BE3V?#nh55f>N4%>
zt0w%O)c*XD%JNv}3Da&K4b-}sV)OBdL4(zU_Vd;^+3&5fy-;^?zUsEQMJIjU&0jWM
z@w-UM{7>H(XW8BKTWQ5OIpB)-^~O(yyhdAC)~r(5ZF@?H`*-Nkl-XzU487bYAJ#p#
z#8p90JZp-x@1H-bT6>Gd*41y@zO%0W;hIx(c~>pkwCeBY=kK)U2R~h_uk}s%mX?>-
zs#D$GtN$)qWHs-`rLPeW&%Aled)E5&CqLb&nk5^n3KE~2cX<@p7s_;OzrU^G-K5md
ziEG|G&c3KF&U=y9b|H&Wok)+zwazNhgC&n+H#seORC_saTT4KJ#6!+wyob}TXnjg-
z3t8)PE6mm;KmO|`_v<>ljI&d(u9|t5mG!Ri&7VgDUzOgz_+Xv2_#wlED>l!Zy6L>i
z>}=h)<!9xmP0;)D^#RMNTUlIl<kJNlPrL8(`?hd>z>4FNGA{Lsuetv+?lm#BZ+^1k
z&>x;CLwn{%8Sy7GjStz&@2q%v@4VgbIW_S+oIY7R{m#;0f2x0n<NvU%jx_;yzb)qZ
z`}pJR`fJ6vXFitxaN4u#wtxLCH@?&N-yi<<UvIC<vwW@(UxPL)tFA29O*tvP`cBW8
z+T{^PggLc)zT90{^yNV<`<}`dZbG#c56=HKz9MRJ@AQ7QQpX&Qee$*0dXJ@o-R>TU
zZ(X*0$H#c-UEkiwXMDT-BJ1~K&L{&5jVqV;WQSW^Oh57KtL41e0d1=*Oc!ePtPSq%
zT6ayT<yJ|jlJC092P6d?*wr}0EN|AnxNz~j|F@HJM*?3gJ=Dr!9sVVpZ{x0BfzLd=
z7Y{Do*Cot)DkvtIYx&ZN#!_E)31n7o%nH1mbXLjAbox)dcDK(((QNz7X1&eOJmK~}
zwd4A^wX>LS*ViuHaH;&WS?@#<FT1brcmG-1*s|h?@nRvTwKlr1X6)l}`?KYDq+sHH
z6VWQG-9<S$h0K-iuU33;u6n7xS?B+w*vCA-Zn8J{uUH%@9=`Kfq*&W0i|B~CrwYTu
zW*wb%@c8^U#i2FquQGS0ncdTsNKXIsak@y+<>dvU=Qaf_3YG5k;$9iLms3@1TTiGB
z<6qVzm2X`(oPT<&EB)iAA5Q|JcbJ}QTHSMb*2OJ_mfmlaj-Aqwd*-FV<(tOZnBDY$
z>9<?bzkIh!&gGo#{ci5<viN$3CzGxUvLBxOChPybi`$m+uMt>f&N|8Z@Aaz_Bm+x7
z3k&b!>ek}diM%%@US?Xtc9qgQfx930{C|Hd-CXzKk$-EB{=2c$<isYaW50y;zN%k1
zKfC<B;3x5n>n_K)^m1}?W^%4vV{P_$%DV?uyMFR5&DW8=^~Luuul1B!@2ii${k400
z<%`KLntwj}WjAAUdZK23fA_}Zp7J+>k7a8bwj7iBlK#fp=Rmo+;Hos`L){h{el6R-
zXT(f2*(}rPDI$A`Z8dMoqTEY?*X$AnFD;#YU1z06=k^xYBWq^u{di_(?|Hi~|L)7J
z&wSl?Pb8(cbWYy1w}+1}`IeGg?c~_kx=B>;U9MKOz{QJ<Gbc_n6gCXJoN@T|yR#j)
z5C0Ms>#1N;^mjjg<Ouiu<a>uEUEJfk^Qmg<K{M{nrvHv))wLgq(bmZI?3?;+_UHO7
za}DOK+Aw#HPRFfB7psK6el@&)k54gc>a-78cW&E+eqMdlIBa@Y&&y)rbLz}p0Usll
zAI@1lx!K@&p7gD|*BYEk&gsmkWplMiy|?@C)ATu;7j=5RdTyQYz4`v>`HJ!;3XUt;
z?yxd%`Z6!;r}GS<)ndC>^MrkRzu})=5Sz}%%kLadpVoWBv+l5O(4AcQ<0qds7g;8F
zEQzVpQvUU3(cjb@mVbZ!UcP_+;9p<rC#{CJ?+x_W-o+RToND)}e;yUn9QN>(>xUqp
ziV~Hk={ju{J#HGst<QanU*4*hdmsDv#iw<j?@C3jxqofKPLsmolQ-^EMl-c8t&^61
z@$~2Yi0$8ExNoo7`0Q6}j`n$tec!%ZvOGKYMYq`PuG(7PSFcY;^i_+T{@(GlhIg9s
zJEqg$z0R+nTvS)*68&=N?0x%n!(J+jz0bdV@4>%q^=tHY=T<)M?Af#AYwPA$+N)o?
zwLCxhqxs2=SIZ{N6WU!`-lJ-4shNA#{M*_pug1m*)ntXJm)>2U9Cz+vI=ys;=`{H%
zr|vi1-xRMl!Lv!@#EnNzW|@MIRx3UT{TSr4<RZrm{p2Zzmqg@5q*5-hD}Op2on12D
z?~D8*pJ{57+3as!{hASfKRGtG|Ep;(r^<6?b92*NE+Mf^_w~$||EOBAci+C)0=>Ky
z@k+n@HoUc;dYkX*i`~aRRWJQ?HloikU1qlOr5krvYRFGHt$hbHel&YYQP0gspN}tn
z-oNV&YgD7ebe8lvDfy?bKl0qR=2Mi-2j`cr*|*pHol-LQjk>(h^tH8_6DB{-j<{}n
zY1Ww|`FxV+7w%oN&STxZNMVPNtolREyc}mNSEU8DT<*B1DX$cp&=ptb68rd|*2MV>
z45HR39IbuWlIvhGXZCvy_fIjB9wHYx|Ie6zcUrvNWjWbwzl_%}8=D{V?{eQRzJ1A&
zb(d6cRSI3uwc5<_+;pC+{-J*iu|jgIo==_W9lFUZFl+0B2LY>P%UC;?O_qr`Bcq<Q
zZM!zN6<3k?^Xb!%9B*@<F<biGe>27THPv749rvt1|E_c<Yw_gdYiv=Agv<4RnMXQC
z-K%6T(3WwJFTdHl&mgSjYV3N(RPHzDrY_nuHG^A-&6FeNXqpYj20?-IOmF@;#@By*
zb7N_|jOC|KM;{;8kF~TpagM1^E-A6S@qS~!=ESx8b93ISG{yux+u)g0mA31~v}iHu
z=sTsGZ+J}b{BC1*d(QDy&*W!@$4!}cxn{-AitxI$tnjG9<hW;h`JY-_uPVN_Z0eDt
zsijlSWtd7xZSJ~lq@?`4ZFZ2*TF%`<k1lUstmImAyTUA~TE#~B>Eg!3@b_XxqG!D?
zbY#p_T_v5X7&iMJkM6WD`;C&g6oaQr7Vw>6;F!M6^k~X27B-b7k|B0irfiSc#F6px
zqp-MQgjMnHAR*02)<<^lAFMVg`|)50cRPDg`K+4mPdr+mbhFf-Mu%+O_x-|!mF@TH
z6MpQQ{Jp2CP0e0hXl7rJf;>m!6aN+Gd)_>K`~P?CFW&7<{`>dVetEln{p-uq4ILaG
z^{#2qOO}rG)qIog5PWU*)XZ0R1LyD3h)wB=6xUZ<d_ih!nWnRC#EDfl)$;;(mECsK
zfAajw*_^YQmNnB-bSxv3|EMgvcvCJs-q^z9+ImC%v-boJOyE_W{rt`1)0?+PdwHE|
zDSUFq*63<p$-{z!ZI0?&)prMWzjoVnCt~#y*2yBWvcmRWUheL#?>D&`dB>>Scb~j*
zP7CM$qpVFcwrs5ty0-UAW_`lajs=YxCzK7QFAgc1yx7ov+9y4)uA6_0WpqC(icI)e
zv$*D<=mI7Y_FX3zFv!j~xneKLk>Ip^x)8&IPqnNYzojjXS7VrQo3Ua3I(L^hHiA6X
zocA8RSFg_4qqbl}!u{80)8?I*6Eblwo!|G@n?v>Ja+MF-yFT|V*w2t_&AV6SnWd`B
zqdcR>LdteU^DZY$HRDk%IO6!CY5t!_Jf8BZFQ3>q?U!(Wmh)Kuqxy^Ea~fCjYA4jL
znfAdTwxR92(EdqRuPQaJ<21i5!n9n$@8NYPAF;`=R|T{ruMAlA`iHRY^J{mvzPod%
z^~dU`QKx2!YG0dhy{bA~;Oj}g|BsUPpPSq*##{PJROCk~pKjEFzD$3XyqJR2$4#u#
zO)WQNmLIUK-ZA-F^QWUbdREkw9<rAdi{d)5;M3p#g*gxZcmMOq36|KV*(+V*7By3E
zi{Prj_P|q_44XxcL`ir=1n%u<-+1ss(I2+(J>F}>bW;y=KWFbfwp3qvPT`~Ek_Wra
zKMYGVU4BbQ;;tFXwoNxqW_oOwvz}Y$-o3p#>94DMn!jw5q@P`!<I&hB``^q{&0DPa
z@!)-jx!+n><j?S#;i}Ip$Kkg`$S!X2#9fcprrtZv*|4YOR;NR#aL=ME?wpgRZ&K1S
zX8W+&kL!-7(fXGW>CZPV+g$uQ>$&%$ri?I|wQFs6IsIsAF*!f`y3QZpLo?)BzfCmg
zE8goK{o}sSwqHvY)dc9RpKwY#;wS&ZJ082#?mgc5G5O`49pSs4*Xz#jyphBGy+6G~
zVE(iPH#?0?ZigR<Db~`zYLm|r^ZRE&S?L=iahvEKX7vt<x3jD48g1u4`dPVU%E$hI
z*rVABCm$_2{<njF`KQ2A&3{d^EA~xoT)jw;H}B)-8ItDeXCxLKY5whhwAtUiye5{D
z$DZ4+_my?o-MX~0%Cm=z^KN|j>FqDCyu9UJ<!AA&lbn4npGdA-ZS$=3%OVNmrxw4m
z&9<}kNDD5CTBWw(gu&(p>q~C=yn?mM^G>S2dBn8%&ckDyeMP4h|8st3BA2;*dZJ*i
zV)<jGD9eu5T+epQ+H2#v|2%6)`JWa+(f6%4H^-R2UgLB)$XBCxa*kNbLKl`<E)rdF
zZf=j<M1?b1cQ;wF-I)9Dc^lu7GiN1iZA0!}2#7Pa-lf=B_y6_wH+z(Cd=T6D{lncu
zmtJj(+<JCvFI&v{2IB?FJNAjUANc+1qp(DG!{c3l<gULCzf^U%@%bZ*W4SVm^u3=a
zbsMW`1<C6?-<NiFIzvLmkEhEm{}kn&>et(S=XUkaYs~uJzwN7W*l}xjO{M<MOSgB=
z*|+D3w03x1a_0}NDS4bq_c?Fv`S4YjTRe|XNXx}~QQz73#uEPzM_<0VYe|C`L;eo!
z=s7(WQ$O5hWRww4;NlP$HqbgQDn2hUDPn8EwguCy&(D>yGQD*%EpLXg_Bz9D8)yCb
zIqmFiJ{bvx`@gjUElf5qsF-%qVD%ceE!lRDo_CmO{b*o{h(5%4F<d`Avdn$SsdWOf
z#~VAdOg7l_UWsI!xGH0+Sj(*^ZMOZq%J$09%d?|3B}?*U&&c+O|L5qN-uH4>ub+JU
zqGbn8E&jTQrSp=I_*FmG#20%Un{^(?zR>^t<orcVZM!Ey#)1bA8k{(I@nB%$LdIPT
zu>lJ#uGj^)S@q>==KXrO?B3!-n=kYJ>=#t~tGm7MdwRsSyB(6AkKPHDraQ2_4zqb^
zYQ^-+?$BC??i;HZR2j;zZefUdQ}W5=e8DGSuLhZ>dy5v&RGcU>H)HdLZ!SiMC9C8X
zzWAwfJJPx`>!<yEi}LFiR>o(Ce7m-6M@pKX__EABE2lkhnSRv#*tvC++?TNQ_1Lk8
zw$G^a-527wv*lxSV@0z>-d2ml7qh;st3D|rX>nj;>OCo~<tdjp-Q_c3_WLNpp;{wi
z+_SKzT#A=XO*xt8qTs_dY<nfo8yDOQHq76^WY+Cq-1#=+Xk^_Ny@#^Tc={!4lWwnF
z-Zw4eypC1S%P+ULt_)0&<672gdT8s{yV7O6XHJ|rlW|_}fQ|Hjng3Rm%uj=P-_^=S
zpI-T<CQBgy&2{0mYO^XbGxxSnex+rzQZIOk@0ONX%DxIuHa`61DXQ*S7&dp$$9I;6
z_R)(voF<pgOL7XT7Snt4vT!zsrC7Dp8|e#{2X$5|Pl&7x(%*T~;F7+26=zuExsAyx
zQ8O7^f3108bMyLMjrFf;vR^lcR+?OmU(p&ImYDGE+mk6%p1jrb5r{wZii<skQADO8
zp^3|>Olp;q%T=cRAH9ke^mllu&i3OswC;Tp6aLET=8Q+)4YN!aew-$g=VHEl&BqjP
zuX8_@i(>x0+*B#@w7IB~b#KShsWQu*;<PyfZ-i|>vF)ndE{@ZmZ`}F4;9bz3_V>ZR
zJ@0>KZaurz>)QXd0sS#{9ZygF3Vi<XbG+wy`^6}Yz$u$=$SM8QxxD0G&hy6`?&j`j
zbB?gC`~Clz)H=(;cTY|RzkQp-tDn8`O1IO}Sv3Y53U4<?fA`F`@Ut-5yr5v2;u4<g
z2FG~q78_nU6j=1dJELAI`@ilN?ljJbgr%(ycr6%PuB_^qve9$qYLSZv#1>m>F<m(D
zQEF*!L)<<K<;gv_I=3mg|NiQG?$>QGxn18s6dsbi=eu6(>#Ey1E7odit;*I=c|ZM2
z_?7$;yALm3a9`|WUU_fg*3{lZ2Y3CsbL!KaCbq!m4|m=;^3zySl(WwEe`e(=G4pww
z4kmP%xZKeBn5O;cwfe;=AE$`uOk~V(t(Px8`64{WqetBC)}=dpo=)dH$^NbWUgTvL
zU(;01qgJ<jm>wo2`iLlt3TN>DY?^iF=gDcFe^P9wOxADN&pY|}jKJHzz83!;-LE@w
zEp*3`xA{p+AKiWR*yEJ={{Qd4nE9Qa+NC+m>0`pab4Me#X(%l6Qrqm>)}giY%mcX<
z%Da*eJwJTq%KwEIdS72l|HD^hZ|ZwKb=w`5={FmWZ;_dKn#ZF`ckllh1rH)J!uCXY
z*J;_TGT-~%!v4d>WxnzgefNsDzWb}K+_BQ>l=dIV*oN019{o7-yM9Aq=b^vLmfLnc
zx0`bM??RacU*DX4d!@uyZu3#$eoMZK=1N9v+r^FUW~AR;xr_JwJp0<b?87U6<v#bb
z|M52bW_`=d#rYfmx2$j3pK#`p@GJk^IkG=a>(zJt-SsDRw^2%3Dxc`>lz*Q>`n#^_
z{SH2%U!+xj#k$;L(zEYRrY%$Xs_*M_uJlZt%>KI4ug5lRVR;lg=}m@*(ac{$XD=@6
zSh}nrIOWbPpJ>;pnnDBhwd%Vj&sz3jn(n;H)1`-9ic2DXe0qIFWsk?4>+6J;e^|7o
z?xo)xb?$S=^`egW2KQOEyZo-}*mv&K-<hggUpJjp_&DwG%~gHk{EPLZHu1APy>N^D
zLd#L*!pf<WcH{&KO#hf5ASxg#d2q++g$FaXCbg9*=oRNl-r{s_XwE5}IK8t!`d;a#
zok`0#PTKJAu*C(j@VHXNkL&j`>vQRMEpCeTl)BHD_323BHlL>kkA3H@Yjywhyr<`k
zb>07^+UNKE(lXt+RE?v)sP`p9U#3mp%Er8dzqaU1vz~o*`SXZ#iuQ+u<Ikj;&fJ;v
z@kGqFiUhsamV4Qs8NDg8s(#|QRcqU=OwaFJm!j6z?GZQKIJIz9@>f~kI_4{e)z9>w
zeEiWc%cgj`?z|nRtpxcR4Ec5yta<b0;b#8&*A}X&hxU6e_#k7-sQ2zx=*m9RHGJ_C
zr}rF*I`e^hF>g@7!LloxC!TY(K660qTfCdwze6eyZ|BGFu6o*~ll;q3?BavM@ZZw|
zFRPr}d{p?k<o}DQ%JmX$4+Bp8y7f`0ifO-j`>t1-PBXuM*zx4@vc@YWou6|)9;xKp
zV^GtW_3-z}m5dvfw|<P_Dh=Fq)4Q(!wW{;2*>)dhUyVMLZYb?~ytQ-t@8d4gP80gq
zO#40cf<ocM&R&za={;}W{W$mQ*@ue{^XFNgja$cSwtbt~Wb5bWa&7C*e7~7q+yCxv
z?TPR0_FwiUr<X3~*Zi<<wZ+Yd*udwydwRBUB&kbp{5!kA=FFQ~E7REN?m0Ux<qG+H
z<u&u)MO!~Qp>eJ?b7#)WsLFr)&WK#zeQ93mulF{lzK;Z>*PT~3^C>8L`7^mG`Nwo+
zpWPcnZ}M(_6!qKY1QTojjiSpoj~ds<N!Dfk;LKS6W9f&-S?>k@bD8=+6O7I~p&YhF
z@^!`28>X@$Mm8U=$E_6lGx69GvD<Nx-*@mYIpVxK*>;@}>tu<~GD^oQPN`4mtJOLy
z@$cd-?&JGSYbsMFo5Zb<K9(tJ`cU@jWQ${Bs>dr{$zI(gt>m{)^H!d@#fkIR-^S_x
zss3R$zvs&qQEiX=lYXv^ZJ8w}c1&34jhT~Mfcn9G){ee%JC9BKKQ&usd)arZhpQ7O
zZ9lHRbm`*eFUfzGv)w53-*la?``_$BJC0vGIc6*FKJ7awpgh~J;7G|THQ}2~fBx1S
z-B-Q)yKUb|)7f|an_qhqp<ZKX<G|ED^HW;$h7``1(R&u;O7a{!e0|+FUmj+6$Nmrf
z8@J7{(Ec8Kapt4L+vchT`1ES*zZmpotB-ftHXl{%c7N}(ZGXa3(odJ3I43A5Bc9m1
zVMcPq>BG)<PM#~AymeaSM!O$DG4hkQN>qN$-jFa&f4W%DY`5Zg>mB>|`}#^eelc&}
z=bV{7DPfo9+S-;TOBMHJ7%w;|rFD76>tE$xIp_aLtoXsN+#IKQvU82_TJBlT%Kp6y
zzw+ho`?~M%ug!RIgYo5^<*u<$T1sBN`Kw-{w)L(~`OSa!1=DY?6fMYm?tM$B+<c2n
zR))ouOB<{=uB|xOQ`z|bpJG9t<NV^hWs9>Gtjt_+YNFx#61T8?H@jnpB5z+>`F2_5
z>2Lp=w)2GDXUVU8c<|V<<_oK?Jrc_a4Jba?G%4&_T-NL>1{vBvG;e&bKlj?w>)zr?
ze9E0)-p^^>({EKS`%~`MF1O>wJM};A>|e*Y?Llte;@2-iw`GOd3m?1Ir9FL(=!Oiv
zP29)rBDhN2tdAs#yxe;BP4Tw{)4Se({NS@XxP80I?1Y;RyK)t5cP+miW+A-b{roo)
zC(rAxk-53A_Q_fEWHGB1skg-*h6=sZS-VoqZsFPD^mB7|>mBPU`enRtc9aEkI@`R$
zFJEkuyOYAzeV$21t5qEP=4tborDW$K?ISW$+Pj^Wed<~Ib^hyju?v>xtz5fz>CP<g
z#r1DL6wLkj<W<wIT}_gurN%3kX88wSp0{ew(xvMIFMGdz-NIUYN_*BUty9lCKIymZ
zRaq3Tctv@AMCOl&Kb1@lD6q*bdnl@%d9-tT{+oUE>2(he=DzGZv*xU{<I4F~Un^eR
zIn+0A@3xkf9n}KGpRRw5i4iZn!<gRC8jzp*?*m82heD~X&%*Tgh(y1BG`T{b)niU9
zTgYPvwL=TkA3i=YF|=}ZsI8oQTVVU+M49%5;XX!uFLru*9<yCP@9NyMCp!Z_UQCN|
zojX_kUbTK&q1?Jf*Khq^bp7?)vP#3VaUmgFGB%s?9hd#aez#%Al8)KORb&0lj%iAn
zE56lq&D@`Q`UJQBoo8=_K778li{t0jPwa9L`_h~?1t+|_xPC?FRt+hE{GR+Zf$ps@
zD;FJHEo(BTt$^9c``V%usm<9<P7~947%L~H_mrJCv3YFs>+0Qy2m4$uGbTHg75upC
zIc?gd$y?s8o0%)7_^oeo>E=)IRVx>)S+~7-;j?wyw(Y*6d)njg!^7(~9~PT%|5fgy
z-7~kA%lC#C^n^M%2LyXLl>UDBUy#95!{V61cL5He?Fz2!LhpQIM2ajeCVUAqw%Q>2
zC+WbvrxQPyvKGE<oLIMTqT_a+|4$Dt=015p?T763V=7!ex?KGKrf${g+NwKcmQ7KQ
zuAJpDBSWqUv%Wl?-kzO(u=?B9zUA}ZDcoY*68Jeo+_bYIj{i>5PAPMyTBV=*FOGg(
zx>Y)T+WUEvXGmppXqSXNOIyl6nO)-SO}oY0cjbA{{2mt?nHRV)v11n7zP5iWJ_`Sl
z%-SVcxAAG)pCk$9-zI)q%Jt7atl^z}C&at#e`W9P#joVP1oJMOuf<pvp>lblU`zPX
zyE5;NuX8dFog?(Um|0!4dg(t~?!NMCRUd*<pXkI2+}M2Rw%y$6S{q!xR2#+rxqGEV
zS#RS}<>?V}7IRJFzPvlUd7oZo__aqCo&TmL-f^B<QNGRd*{5AQ1uS{l_ryK<RFxpO
zSlZp}bV~WTPY>KqpXk`?xc}>!m+g9ctg6jItm^Hm1ddw!Kj;gqntFBjSIID4t0RjJ
zWR!hu|ESUTB{8k+<e9jJGzae`8u5!xSbuB!Ir~?6SGuC_|0`|UEW7-&D)KISc%MGe
z$Xxt>&wtA=u4m(7BDQ$^V3G}*wEt21m6F(h8&kFZ-w2(3)6~Izw);Cp%g^s@+U4|%
zs<uD*H0j*VFG{ABPtHGhQ*HN3YnijVzFhX-(*~cvZ<zdUs`i7Afpac?51Pz=ZsSqr
z=Mn$XjQ5BC_{~wX`Nd7~{n1(0)_eTVn{KOkB-QOwa-`>ydf!$<{Yeu|BTAGVn>Eu@
zH?B~SIv=^SWJ1+Hm$T|o8llmyvo^{<%r<p-Bz61l&SPe?b?;6~>*(Kd#3}W%Kws~s
zn|!||b{vb)I#%`4ziajBRj+roi%$`K>vuM4r-kCu4g0s1=jVk@bJpH7`LTz0xkb>Q
zo`t3DV&*a)x_+-t&c46aFDf|bZupM1%X7SE{nz@G;8}O_QOAjMm*zO_(JtVqO_*`m
zUEZgYOR!ePe>uaiH(LTtGIPty9p*n;pm==7JI{M!*9<>bJU`af%>C?r@2zQ<BJNxX
z*|T<=PWrU>r~YkN9D7D!jn?eQ+aZA$RUZ9nKk)roV|dQT6WV4c_B^_F^LUhN{hiPm
z>lzt9M$b6EzJ1oRPhA%aQzus*&HCo5^t=52iQnmMe!L&`ZTuIvK3+0ExUN4v&d}_l
z+ud(BRpLJ0-G0~HsOp31k23e$9}1*@K0fk2SS|Z{(B;yKqhkJhk`AlHeY|ye>g;lx
zFVCJHH_O@g{}h{A>iN0KjYqzJ$$VIBIKRRCb8O~{%&54HPu=z;HJ{NI`x`zh+3BqD
zlT+KY4>Ld7!2P1g^}pim%eGfajOQeEtNU$C<XSGFa&lgB?k01=BPUzT1+&V2>Rpbw
zyHH@h$%|&2qOMeSwWdwZHiccTUWI(V(%WvNuYW0DW~8Afqqy!x&9pP>v9{0OujY=p
zvFhSp?z*&>Ii4r;S9-VYJ8^Guy(Y)k6=yy#4e9b+xNd^0(1+P;JLD#~I~MMp;5UVz
z?boA?u0Q)0otijt#<n}_)*3JhE?v4c^icYjRUhP|?_4`8?h<o6eb2n88(IEr_trON
zTwQ4X=<lu6d-+VcJ>A{jecnv>*88fQx|Oo%O>gG@s;L*=nXfn5sZ;gu&E(JgXTBPm
zY?s*fI%#p}KHuH1W_`cT&3~<8vcmdXcl3QDjSnf`isA~NK3!ZrRXWM{;l#~hXEp9y
z=daPY9jKES(zZeWV~kcoUGEzG#GrVln*1X_w`NPfEvsH-%WAQI;pE*-muo-I)r_sK
zxtR7}x^$V+hTZxpuWk7MI^I40cVgVspZk_18{OZYm(miqH%&@jJb8_Tf5+5Eoc!Ka
zR_%E#`xV!eUay?GtFTsAZpXgD6~4~ulWS8a_uAaQb?x?}l3Qy9FHXyP-ZgRJ&*SgZ
zr@59-Js&T&b=t;S;p<b4ieH^IKWcG9fOYom6JITA70P$oC+dH_Y^bhdp5PZ@W1wD;
z+~Q-Pu8?DK^ze$s=?XCxSJ!e#yS(%+xhem6r$)8&!zCw$FO*C5?JAt2%hk7On!-&M
z);33$PKW3az1cB|pEd-l{!W(^R?acJwx6H>e{D+W?|vrc>o0}hESgyK_V3Ybi<{@F
z9@cN(Tp%!|>>Brl-<s3J9xjTIJ$Xgt*~^RZ)90_5(4`pDVS1x?{+#ANDXux{JAeOp
z)MdF}vMfb3v0(Z4zgM5h%SxW{Fx>m3YidYSzu1nGjdoG}cT!U2n=O|;XmS?$d}dW>
zi}Ft|9?sK-p4YB6zSlfF$!UAf`h&K@T5o4M<SqK+yz|a{y^^V)&nNqQ_%r?TLxr-7
z8B?5BuBoxy>aeVCg0o)UCjCIcIxYK~c8$Ki4O9NguzUViPFUR%H-Em)<;m}NEZ$dE
z|M^X$)Vw=SZ^z6rF)qsc`|(wl{zK#St8z-#p1l`+)P*}=ymduDzY*K7hTNn3)=mDk
zi}Q5gyoAa%A^!}gDKBF>eKzQ)kBxfmiEo|;rgu%uZ!Y?hck)ik?XNpd_Uq~2y&hOz
zT{W+^G|qGB<~841K8WqK`u6Tt<+-a%I}3Lw=iba***DeyUG&#jzsBMp8+(d3T#Ocd
zDu3$fzaYzF(>B^fYQ^*KPpv;!y5r<G&b*>S|2gxFBwMXN-dK8p_f6J|J#6+#-?Gn~
z&i^2K?_=(X;-4Nzuk*TETDl%O`smG@q?^xMa__5ct=0a<`S)|gyD87T`|KazNbyKE
z4iEgdFy>wV)8NNf6O(pIupfKAdFk`#J5t0Rty}g~Eqd8<cTch1Hw&iDeEr1mV$^cA
zj``giE!Hd#SoNHL&J1?-=`}pB`6^ESb6NUrx1jz_BUydRrf!G0O`*?J7uN@^{8e-z
zs{L}y^`+ju*<zt$N8BUNUOUFheZsLQ%lG%EuifEC*IZFo{gl7$e=ftVWl6iXi``;d
zv%AB<d4tz2K_kVRM!JfYa@!AyOrM@}Jp1Hr-jjXP?o9f`5}mRn)$OJ(|Ng?CA9-i*
z`+2B;n!exJb^aZ3;xfW=w}ZY5a4OjyJ{<39c~snCkK7vud8f*zvW5zMKKGMeQ%@fV
zZ+W8{WuzgrIaXwISq_7=jI!nC%;U|^tHbIacYd9H-gZOXQS)>2{^tIE|9<cH?{D{~
zem%OeRGj&S_5}75?2|1{e#^8x`OR}q%4&DNO@Y=^C(dzC-c&xt?9GZZCp|p0Z%1sd
ziv2T*%{|U5Nqx81K9lw7cFr-XrWTXDnVP#FU)IW*nf>U-ITPJp1J~KYmYmBcd(Xb{
z!zG!`d(onWIkG#87O!}9@!N#HBE8klng@?~FJh>9SLb=9gy*Tvtu4C_A2X?+ax<qk
zL(A)V^U>NxvJcYw55y%uKNHu({Y)?>Ugr4!3A2_xR*lYUntta0hou{Ht<UW#dH?RO
z`}a5QHa?p_Xqa*?_ndCvG|l_Y#ll<ezIt(=OxD%kId6X6JM7p0-i3=CGgYo1`1^nT
zIlqGc=RHn0oOtoaQrDYf=UQX!)yBPlb}Q<&$*Ahdd2xQWjhgW_@v)i3;RCZ+1ZH}z
z{lu2OQi}7`sw%@@q9>nq>pgWn(4n(9@m)?r)Ul!|erHzJeo}rhA^Ahd?8dbou?B6L
zxk8I?CQT34(TqGBwBq%<DJ@Ntgxnt<Ynr(5&s@`J?H2z-UZ=WxdR0|>dsWweId(P0
zOiKD@<{R@~Zmn-;Y#-izkg?%e$eEeJf%lGld3mEkudjMV$$Zi0-WvViBz}ljiL^;X
zysuavt2C8w)tMJl_}W=w6HjgJC{uVV{qyuH)sLx(oq~mi(<bgeaA*IoUyn>5ZCbqS
zdi?Vkv)?cOr{|W1Fa+m*yL>z<|5VcRolb4rUoZQgbU5Kz5QDC?)}ww#HOC*JdS}=6
zOo-N*CgQ#6ZrXNl^Y5p)qTC*J8>C$S!lu1LbmG>{-^0S+=dQUQXqX)w>iErKyUF$i
z8kResG`?EYG*@(HigSAA*H3HCtn&(ry8YH8I%Jlyy^gM}v8ncX#ggag>FMjwojWS=
zfBBW^#|q0F%Gd?_BA7Lw=Cp`6t4^BWvRF{1lqpNsT716Dbe((adTXA?nD^<Ixp2>O
zw&cJ5I9`9A`DP1!Yu$~uYNmVbx4-Y3^fT3UXJuwzop;u?b3yO7?W|lXShugOV6vu3
zMrp*6N0mR%am2?rUrgz`w7#c{HCBeTFknk_eU<OA?@a6Dj97gRerLM5&DrI<k@8Em
zh5H`Z?J~SFeU8{JmvGx#3+DHUPbgn8wVQoUzQ|@)CC>F->Pg4a*GoUB6?WaTUi8Dh
zO|n(WJKlS^zP)#B-@7H#UOk$1r)O^VB-z%;pWZ^(ORj$r7f-XfWmTLO9+x+NuY$5=
z?Pg_5P2*kmri+&@SYRrVyId)4v#z7h-6sF1-!qbBC!Z76yi@YDYFFfzjZ1E{$p3hC
zXTzEm;nr8yRU6taic(+1dH8UV%EMI`Odmd0mucVOTCTVMsPgprnqr@vpB<?we-nF2
z{SN0O)?W(A4lAuXAE($$yfD(8dhfIS@$Xq*x+8Bsmt0W(AT8^Fm=OOBCmY_VFV{G8
z7QPX5S>2n~!(u94`knWC$~1@Ue<^+u_dfq<?lyib-(1x-qo<ndY0hoqEEds@EM=J^
z*KKU>ExuB;KRV=}kK(leHuV5kA@+=^mx47n=c;bft$h`dUE=-h)m`OU)~5w>`de?6
z<tR%YlFwhcQq8VHPhal;l>LWpr9TvlN%-9sEXbKHpw+~w`aw2(&g)rKlfN+X3DkA@
zicg-z-dXOj`H#^8<pUcgx1U)z^9b9t|LyyWl+ql(^&Ay^CVKSr_P!@6&#XSOwr#$V
z<n8I{b$eUu6OQ-OriF!0a=4z~claCs%A|<jk9R&5uemy9MeN&tm*<;U{(b*=?NgR%
z<gs9JeZ8=shJ2fT@WdVy&YaO4SabaK(Q^y#_9@pM{%29LYDV(f%VnHt53OQ_l5Lju
zv>&#5|44jut3%I;=GLz(nRE{qKH763HLEGYqP%WnDF2ER0TZXq)HePmGG(FocV6jN
zn|EE4y*2OUiBlV_m}DjEUjO#^s#^Qw)3<m3w(dN6GE(r^lqoqG{pQ){m9IQ`bnsX8
zvx8CVjyGT3{W+m{0-N>BQz2(&ZArf`8FXlt`-04yjD0*s98y~o&pu_mX7_M<(PI^x
zOHNmK)ADBT*g8oxLYcE^iGxg~i<+j~M5A+m-k(spE0S_a*2rjOM#YX9ij&i>Tszkw
zZ=P}~bYVQF@1zuirE2_@4mL6+7k?aWe&?;vJ2`)1aP{r^&Bc02jE4lcC!9C6ln&}}
zo9%ODmJDZjy2*yV&;MEi><_WAu5lFQKcE=6dTr6&-{-dc3-UXi6Cx;`uu;_^N%QuW
zlj?a~x*Mun`>W-;{;|q!WX{cv^X$qISsQm!E|Endndh)XGS~L=l6jkh7G2t~ZkPIt
zfOvby_FAQnZik+*$j+PZY<PB+@4xlJB_|xuoapU+cQ|RyE8ST#mvz>KsA{(@KD<6J
zd8yLA%3>SiQ?46q@Ab`a*&<-M=V6#>!|mw3?7zG<^k;4Lh;Z35+1AMJVh;D*lxvHY
zc5qm*&EM$2FjK3%>HMBu(a+D`ji0=G%a<Hy)|Ep4rrz6iGcrCtA|yQAW!|lT_}x3t
z>|D5NhjIV4@~6|@bn%=$CGc+Dsq^dCojbq2>ED4P%M9)dss4A0mG87GIp8eo_%DKW
zbNYqvF5({hme*FS6E3}bdjjtS>#~FK-YeO*v`+M`U8DU+Q2QmLV6E@;l@(ft76+_W
z*xM2;yzcnnV87E#*bAB;1^+QRxgjrgmFv==qpKgeo;`HJ^Mz1SoX2Bdjnll>7rorA
zD`)boul4*rhjg!h&#z{1%RX3k<MyTJ+#fz~e)M^h{4d3mb}>se{s-uNZ!hXwV0*J~
zTj*b7n}-$C&n}*>qy3%xYwx<Cr@g;2e123L?Msnv-^PEEjW2@x9b4b&ZMny{*;^%k
zE)sdWDScvh+G9Pt#q2#xTwJ|{B-3Wt9u0rCaG}};AKyJfwx)rnwf<broL|1IqNb#%
zZyF1)&XkNJGjB2Fgn9FPzA4Sir6#>BX6C7s*;(v$56`7Xb06&H+#PT-V|JF3pQQ88
z8i$=R&(v>v>iX<-cM3T!9q3T>O4vF|BX1v{35Qat;37wcdwm-??`ke{oarK7m$qP2
zPIU75o{6`Z*Y5oK_2|*kt*Tdo_NB*te%CcKe$w@4?^cS4nM^-B>$XjH*yh=D*YA_Q
zz9RUU>)(iva=$)p*&_GJa{AfO-}URye%<@`@Wai<;W-w2jE(KpFHe)7G5zKCMBbJA
z1Y|btDR#Yo>&=uYI>9pzJ=^u+|Ae!lJKueKyZgJX%POZ=vU;<%W4G+Q_I>B=n3a5e
z?HeCC7p!U8DY5SS%f)J0LJLn=3vv3XY<m{Ycpzlj#Hg;rY}>YfN_I)}I-gOPlFH=L
zV`p`zLtBphM)fNO;U#-CtUez)uwkR#=Ipl%-!92WartrN;fW0kO1qV1MY!fJ`gna^
z*;6%jOBHT$%L{A#8?JXf5!$))+_Hjevn^zwnmW#iOYu4-(0zQ0Vql<*_*99h38u{7
z8wxd=MSG^)m?LxYXNtJK<XkK1nwM?L)~(sfT3fg7Iw9z|=kVLYJ>r#iIb~`m&!64$
zl=YcmwS?H2^>J@w%9q^ApRjH157lVrL;A&&V!1n#&NZb^6qh<WcaNTV>dYGjny;s%
zH+6jqTweQYdB9E0O;Qi0)+j2<hzp4dWpX92b>w&4V6@rsTuI6_0rvRY^%d{c^ZEGq
zTh^$b^z*oTB4(Se?^^9T5zS4JcAJmSTrA6N+1JONv;Ix$HgApe(x<T<J74bMo^k9z
z)|QS;p1cX=iq{37Y%BhAGfnQs{?yYSxb<7iQ$?Pn9ozWwq)K~OiO&1@{cSIH9Xqz`
z8=G`XeA?kF8&;p)ocg!h=*1qD<~dw@|16Ao=g*&1DP#S(M*i!^7h8T+h_ilfJymu4
zfUDEDQd`9{`Lb`GuYSh4*4?9*>*=OBM-?5ttOX^d7@yCqn07?*%v%HD<vgsb6&rSZ
zFXLb}f3s5gNk)OM-=i}tp8a~<yEWv;q3t$zMY-nfERJ(_YLehwH~*=}sYhxzx%IvN
zzJ8|m<#d1Q-=xK}p&g!`!F{@RZ#TUc0r!6*>_VTldp^}T{^4i((&zQccfbA=yzAu~
zeEqVCHz$AM|EpD}3ZwlO=DqgZ{IBor_B)quTK;*|-R9PAWo><Wn)Hm>zE;uEV!ChR
zzPY)(xw$(psIxhl<9XrrBVB=*U-q|tzdvBsms}`w|E9C5N0%%M<AfIp`3j7ak{C6+
zL^R8SbYAI9^7xt*eKl;ON_b>fu4d=k9Vb-Zef)i+sB7*XarO5{U)mOW7v2eeBXa$S
z&7ZXIeC`t%R4t#bf8T$p@xj@5_ujmDcjwHTH$1$x4JTe#+^OSTX}O${%V*lj<45PX
zFmzcTHdOSwaq4KaNT2H+Da+%BLSFc=mRbKepvSSR|9;~tYgfT*b&XHAH(DR6JhSa`
zdgtVy9=C#59$<dCI$?^vqt%8p&q6ydq<&FLub5<F<?Wc@_fM+FKG0HIcY)#Eb^F(D
zDf)BKcedQz57X=X_H5j`Icv|t#67E4hwk~9aq-``jnQoE`I6c9<4a2Rzjmm8T#@>;
z;_)TsbANf3t7_EeJh4+<vGIk<W6|%cwcn=1zUFz{eqTd(d1AZJv@=etC*OH<sHt5k
z?sBiX(e!8LVt2}-OIuZf%_?Kg#b2C$#C%p$%!(F)EZHx=Ywk0BR@e7f(y--0y2Fn!
z7tL}N&Bk?1V)D(G9X+R=KPt62Y+2Xby8jQpuJ&H1Z@9b2c>B_{DPMlC<bEeS-Fy1o
zw!r0Q-flZ|EvCs{D|1e3c;&s*GLICrn+}&<$ShDWS-{-;Zi3i_QsLBJ77t!Bb6)*?
z(<;?LZ0#l9hx)SB)h|Qtnn`y*O)tJ7V|g>|^c<C$AElBRJ3V?{IxabEWy7{3>0`)T
zHm<j8*NRT{o)$7|PTv}x<;Jhq{0RA5Yf-%5*Fo9a+b-_k_TyA^bj`kL>T@~Lt{=~z
z|L|hxWW~4|@$2#SieF^qy6c7G%j1q6uk0x^ww~#y@iZoDg0YUK{Ud=A!|UxT#X(_i
zQsq?_BzjmSH!qv1R93jfK5ZYLv-2P08`s*}C)|>H#Qy%?#>ej*Uw)poc6V8B>hvw@
zt@1kS7teaaq8oE0>DvK0vxQYNO(hs#JxQ6W7;N=6o^xvY`t-SrOx;DQ%Pjk^wp2TJ
zM%Xj52vl6yv?2I$!g8*N6sM)0!iGEdp3GuCZIH6Q<aaVl(A7(yUY09tRM>45a3^n<
z&igB?)_F^Ni{CH(@*+edf1&CA6EEMah<+1&HNaNT<)FBe;*wOw^M@OMSE~txL}ot!
zI{js!nO573{XN2eQ+YNf{XD<pbWOTW#nV~eCO_rf8Qi#Qn)Yq~&ixJd@AEA;E4`km
zQh&WMr`q%2gJrw>eH1UV*6n*&H&2?g_KeA-Wedb+l)jw67Bc0bi<+QhpSymEr?k0e
zRCDO9?Hj|J_$}@)`Tl-S>>jRL@*?#gzNDAmE4l0&{UEdO=+y92g*!Lg4}JJY`QbaG
zm6mUA=|`VS`#N1fC;w1x%J%5&8S2fBT2jVa>?&Tkd^olB#_NQ4D&KbH{(P)g;Zbuk
zfcLqcG{2wehq~!vBBF=4y7#p{{~|J<KkwP<sXQV<6F&HC7f?#6yy=@5F!8Bml+EPL
z)~8cXAA2=ZZ@YVX$Cs<KY7dq5J^FIxTEgjj-)6syuDgD074N!RUGFA(hW_1l<(ON2
zYH_e>%|-irH#Tkj)p`DXUBQi%J8$R6tQViZMoV{XTtrOF;TIkK%e*W7*6b@ju-*Mo
zB7=tV3qMs6w~EXe&1#%3e69!GZdfMgc(pg5T4uSV*?4NNR;*UtpBwh~Y+UEhn^o5m
z_O@pJZ)eMiY1S_`-w}J7{4d}ci<ID#Os{6&;|k$<>yA!(eOgyvFQsi|lau+R>}`=+
z2ER*1PF_!w%+6+dd%V59e=BRvy+6-t@7n&J{kiylTtskOTy%8Y^;=Qlw=V^8H#0XL
zyLjr<#bXB?!qTEW?|#~}>1nBI?o9pZPo9d2KYup0BeL;P(*FHBj_4m}lb$n^-RAeC
zN2?Z3O;`7h)3JQZ`{|`*v7ANhMA_hTM&7kOK?~$}=RbLKY}MCwQStoe8rpKZf9%PK
zxe^iESlnp$`^Vo;JTs*7Cp>HUp)#8}NAE+;?vC%JB~71GUY4+ka?G9e@Wi}~zMi~{
zRi6t|1lGNNwJWdU$E|hivfG>Q-gPWHT7G{6Q!~H!{Nv%e(c8LWRhrcKg-xy96&aqc
zyDBY^(*NMZtw@>5ieGg<jtVj<PJI8_cY=>ty_(`YuQM|??L6}1{**&qOSc&n&Q;XD
zb}sGcX3Ij&qDQQimZ4K0t5$#ZTleyg>=#|Tf*&6~#ozGqF?&DhXz$w8=6|aeo-*v@
zpYLR6qf@zkPCx%@0qwda(%HQyn)#Q6Cmp?2-z6%3Ea~VSwL0m&@`YY0`=X5W#jYGO
zY`S#VQ0{ay`=(G{&q8yJX$rQ9ZEN;2IO_#UY&z5Le^KjR{hi(6KQ=y^zx2b?oqzjM
zPTs1Yr273>(#eGr4ozMeb?V~m)-MrV7Ozg6irjNf>RD-v%+boG35uc~6ECp5Fk{~=
z+9tmFfX=$*y+^;crLGg_(zNMcRj>K`;5?@~Lq@5u#ZSz(TowMc^g`~Ywfklq-_$p0
z@}0T=FRcpMyn;trIVZHwq^!hblXl&UdAYaWNlvm`e{)~*@v<_*S+c4v&$%vrE-s#O
zD)D8dj(V!C>pQQHtWO`$WPI5XQSe=Ig<a7Tj+&PzOuk>%Q)zjA`Fu)|@cqWFNwe?F
z{eL9suE}4iC8D=ptuhOVnN<Eb<NUp4UDv92TnU*yH~NYar*C8DvhxB8svg%*FG^X~
zeZKxlSJaB)n4XtSyuRVR`qsg_GLG(Z&FzlfWv^Y=dF(#_{99L=xlQlaCIosq#tBBR
z=r^9VgJYq(o>N+oQ1Y4mF8(<?L-#Oq$qB~SK3S%lIP>KJMwi%k-`90dn3?wVyRgoM
z`1yHzverB|e#+ZwEyi|x_w~B7z5f6E5*6p{E{QEzWq19gSVmo-XGGenC!c5U|F4|7
z?92_L%WwWfi*YNy`TBlC;#ZyR)qVB9-|R8IwKM;;c)6Lb<&EDj+r#W?JWaiPBiG)$
zc-QG%L~fL~cWA=PNl`zN5^Q!<B%j?`z1_|v%jliA?_IOB;?Cz;US8Q^(?qU$ep&O}
z@|C`hwWg(N@(DjK9WimnbFO`l6Py-R7&%o4S>*3{=(H)=<mRGO^|$t#*1D_T?I=6?
zDSLWY=rhqRF&D4bZ&+&Z{%}I`{r*R8$?56Ik1zEp@O%reWxBbN<9Er`Gc_K&8r~d9
zUUz&Rzn=N)h$|_)8P6upi|d-j>HUKz^T5sr$1NS_&$Sg^a#L|$a&hBX&Xe0>I)2Rm
zWqvwf*6Urn1KS?WKX~t6!iMGSsVjuF!{@!2X4k(qZd;D&ZjPA`uOD_fpER*`?-jjy
z(f3*Gj;&?y>-ZT|ZI_d8{_W(EC##OMd_Eo8)wSAoeb?^lU)Lu@&e*$Q)gI&Gc)R3l
zy;F7D`(+~k6}tycyZgAT=%SW@#5#$oKd)(4-Q2GbUF$S$Z*}2sp3{0=2RB)scZ+;<
zWWQeY(X>0NT#v(k?SE~r9ewunuIl8C?*cp?-VOOX?Fjcox#RyoZwfUD4{6ap^dabn
zQs{q2JLgia%2O=QHP;?|cGJeS^0>yCR6WlBhjUUN{mE&4&ay``uhn(I#U*E^@e5uP
z+r|6spi@h#hrx`-r3!B>)~ENhCC*l_*n37J!sgoUsfT?6H>9j7H*HUKJ!mBOP4b^j
zvB*5JoX<S#(>qs9Z~L0}@aq~OpBas*3U7GYQ{A`Dl=^gd?Gw`rO0ga*;@YkmYdoxV
z`N8=~yCuEt;erE|_OCbEHP22uG<oB{t1|OMh39pCIRD}K>}0$9O>gHv{HkmCdU@jC
z=!)8G2|brX#sYP1hc_p0yWjTq{o}XkM{?|0A0Dr)UCi|VKTj>k(Vrg`&pke0EM0Y`
zyil*i@Nz|q<($3U#v;W(-hBUX@a*jN_K%;YO{uuKbazV9pGn@w)b%9!*qV8He+b&D
z|KFSJ*0AN_al0LlC-1#onWB0_{a?Z1SMp!Jf3LryUu3PD#BqG0-OMx3tGE5Fs+;V2
zWVP)vLB_RWeck2uNuK39H=P!$_R*HE4!_xbosUPyYI0`$gn6kx+FwPsh1^_K%)aE`
zk_QrV5Bw{reX{7@Yk_;`Le8kJoAFFY-F$ip8+TjtztU?l-tEg5EU13i_1@|JE_-(G
z*st@}e3=(=WW|!oCG{6A4y(%9=efpI%$eQsy|RUAS=ixOH@IeOHoCg}>HESRr5Be?
z-@ohkN8fC5ULKw;4Zr?Q6T5dk<<0A>H}-YT^?&x9<5_jPcI}f#A!^mNyMMg4K6YFB
zFV~zX`Iz3nYh*S*i@JU1Cu?hHyYGa*ylbUjB$hYdo^oyOoN1{hQvWaAKlf>-vfTWG
zh2}!)nOtT%3|u;|@~p1!?2!2vU#aglSEDS=YLjk+CG*6fxK_iQE0Pn}AN=+7@!Z9?
zv$k)y7E7(V`*f>!%b%rfcVd=rHn`6`OV#vi?Ck4i`75FX?$3>SU0i>6TI#l&n~h}W
z<ca;UXfC-tQO|Xq$J2)&Rd+hIu3%Ey+o<7~mD=dkcxHJ#=cK7@=WO=9Kj^={)mp6c
z`+-Z#jDyb2HCb|5*JHU!l5(q!{HnN1>m8UUsyC!fJdx+`zg_$m_nvnp(N%tN^CnL`
zA-XK!z+!{xl~=WPq+UMp;n*{s(-rymTmG*xzy9vT=~AQElhGkh{uTw7dV7~nw%vFk
z=;oCt>$l0BJk-Pf>`RZ%$F(w(HLY)_oO0Y_B=Fr>FuBHYCVNu9;bw>I<md$(l{X*1
zVVzzh{%}ThH<wM{9UJzVILZ6Fip-_or{DN-YtyDTLHCk9+M{2ZtM20r>&$N|ZOd;G
z{dRG=<^3rS1vvd3e-y^ux8S#t_51K^rs2bn5&y&Z%#XIHC;we-X``)XBm8jw!}I3H
zkKoH6^SO9C{@*tG8<kp-&GI*DV%_@FUmh29v@BQnW3fKJhxhn5e{v09eEa|Z%kSeC
z%QpsC*2TEa4|{Z4qk6aJl(+MLAK>)d?Rq?KTm8A0o*f_Db>3gNv0+PaF#DbN?#WAD
zbG9#*zj8n6fN^RCS9`ti!*4SRa^hJHU(G)BRdk24n#}z5N`|kZ4}&>2k&U~P4(W2;
z5$08QkXguoa`hAKBMQ%FH3o7qoPKIhRH%2*AUYs6E_CYj_UY@i_Al79Nnt<N?Si&z
zpUs43u35pXsU#Vmr>U_rkJGWji7os5c~uM5Wp5Y%+wtVpN2kfA6aG&<)wJc#o#65#
zqN(B`MSm>ouK4Yl6_%669PllAUa0hqH4jp+o!8u~;x?22rM-YV`}+4+wlp<fUN}{1
zCr^Ca`JdeL!?|}H(SGP#mDaajPkdL1)>Wp^Mb?&`xfaWRv81b{YVDg;tYG`#{Q2+f
z5sTg&us8TNsozrj<lFVfzsVkHc)Po)Of8VRM8<Jao53L$gEKXf=R4QADJ?zYVQp9P
z@_VgoUX`d_o0Zl@_uJ3EhAeu1`ufiOVI04wcW&#@d6XEosDk<YAt#M`0pp4jvv0cy
zED4!*Iy5$I^UdV4-50x-8K#IXIa4iC9%epYUvtxQ9UbjV<F{w+Ew{b4+H8LO?T;<N
z$N2V~t-M(o`HpG*X44x+W>doB6E=$9OuM{DX-iXCQB=i@_$`+kmn7_HV&DmHWZe_A
zHoRF!yXVBM$?ErVPoML6E^^6;%QeAu>gFT+wpbo-U#|VP@@HNBzbB<){(Yx^zMSNA
zWdD{Ww#E7Xcpq<Q4V)NQ{Oj$-)Sac3)8;&qxu3-U?cluUg^BVU0`@<JehPdOW<H(o
zeB+7)=Xw#Qy@K3F<r^<fW7uW>`!8$!CvmZ`Ffp-T8)foeZw}x}w~LHszkN$f>%*^{
z+4uLSbl$(Owsk6l_Jg>2<%<nZ*vxv&TUa$WtoewKf`Ff3HphIYmyhRF6&nZi+f1B!
z%u>CL-N1@DO23=)!PiV?w-vX7woP5vwsvXswkdh7S4*-bx9YyhzO#G%%KXIK_{(;G
ze3!_i{`hFJPS*IOV(!6dOIW2ESFoPypDO9F{{2gr<aJ@IqYwKlefi8WY3~%-Zzne{
zSS|5c#5iq3&RZ{@iz&{0pFWj{eV-LS)voU6mOn;TTPtR#$yv_aru=r<mbaPV^St(d
z68V>QzyH9><d^14oexd3{+NC`^5^xNn=k!-Y@Q)s<&>e$<jJQd^zsf%jM&F-CwBYQ
ze6m{j_p#l|Kj%08Y2LHPaK^FI!3Vfv^28_IbXd7j>PdoX#(V*})UP}0H3SxX;JuJh
z^=O)a?59P?rx}DDNqmyJqA^~1O}QD*?E74YCwQ7#@M<kxto+er51&i}^9&i&bOU$)
zidz}!`dzoZz3=AjN!W4bv1amh){F&zmuD>K^<>t0rf9Enzu~O-jMukr7VllZ;le`=
zt)f30PCR@NUm1O8-bSY9RZJ)6&b(gx=IQ>PiLNuB{<wZZSn_3#h2?dwA1ccOo^S2#
z-MU;lD@)2R|Ho(3>wi*zZoAGWTa_!FZ_Rgm+ox^bOSe6)ye;zN*yGB_pXLkg6n+vu
zQ{?!S*ORwNKavvD%dv=U7o0VJ;w<@}r?+0;x4Fr7G1L5w?DHQgH9yw~P~2m)_S3=r
zD?fDFzY$&>xFb1jk<yzTccujSH7aRU?Uw%kG>c~%)1iLbw&XJvTIqc5N}^A87{5%|
zYB|?zyY|wwt5L~Tt0o-Vx;o2Xf@sNfX`ZM1tYhcZYPX-0H2$6{b)I+ao#%yjPZq>C
z?D$@MC;Z_`wMBf7=bb%V8Dx6iSH^ALCCMkcXJ#!5;|%sX$nk+=cJ+;Am*YBW6YPo(
zOmuNNry%#?%omqevR||#+`qBzN-y|!_8pJ><GMG8CB8X&XQ@89e0Y6DpYi?fI5mZH
zD<3j%JQb_@aBidOp2yF*-u&H=a9!`C{+F+{mt}t+GTHR$+w7&^j1Q$}{%H90H~b}I
zrc0q&P+oC&<D_q#t=x<E1a3=s?&ndHCSRL$|G3RO>2Hq>)(C%^P`;)oTIFM(YvR61
zZ3g=7YrC4RD!<`qU)$F-Q(#-y;cG4j!xVFj+t>E4TW*tIBGz-h{F742VFN)AwMnxs
zR(ZrNV%eoyc6wX0)&ZS;Y=@_B{x-!b#Q5ZGg(tcd;<wIUcQe|?_`d7o1v{@pr7h<A
zG42(gANwrzQ~dElbH`7o9b%U{U*3N3EU<0$Cz(|@MWnx9sQsY#e8RT>mwZglUw>Dh
z=}|oMPW#iEIR{vk3&by#7_IYNlo>ta9?PkTa^{LT%AJhPH4-_Ob8gf}*d5>Y&^>0|
zy`xp#^XsQPDcd1f=MjJW_wJv6?|!OPzr$p|DF5+a+du#0%H}g@`^O#p)VbtQj8cq8
zP2jgP6Rz)`&^Pf?5rb<>eq?|Q?-AAOJ>r*cIUTt=|NO^ikIxn;tXJaeT=H&?-lNEm
zUH=ZtPZRQ0Irm4@YN^Xb&6R0;4y15Cxx8J~>299J8AqqY{jp2tK0DCA@&50~{U1M<
zUy?fXJM+&!#=8FuyZsxcwp;C4pZ4BQ?#G(scRXI6&y0n4XP4~qi>W_rdfoYu`Tn20
z_uQ}PP5J!G;+fWhVyOiOq9(}521mp*G4@PaW}2w1?zg3$dA8%7QxE(sPL&?lmdN{Y
zGFfNi?<bzF?EKkYoA}OsU9>5=?d=NYy;|=lPnsPeCo*St^-@dU^k-{@6K~3F)8}gY
zx?t+zZ|-YZ*RXGuDO1RMSMz<5-gm3Yiax*F28%DhN`Jj&^&gAq0PhP6<pSdRel;xO
zH#>8cJv;r&!8VWD0Qt52Z1XnAc&uEZk&<PUEAYN%@tub{y2Tc!RBI;)<m{jNy7|T1
zWg1Oiy%uy>S$V5oabMlypM1LYN6XV6Dz~EE6-=3GCHwSpeB0I*kMtXMEz>_r&OCDT
z+$E_72bln;#a9mflH9t%@oK8kOar4$(tjVA{PNfuaFJ{A)I-aQY^SYxwCCKSxAzV+
zOY@0}-6-<ADPVoA{KAw-<25U1rrn<;RG(g)I92y@YE5&ZwqUc6{pDCo-IzBqt9V(m
z(x0b@P7MfTRdqRTA`|GTU2@dAc+JbqNntDcuW>!sYK>8^nfov-FmQvDlj-$bL-D8O
z;yIsX<Ql9cqjJ_9dDwSUXxqG^>?*%i6TdfnzMOo*Uw*$u-KzeB{$EcnO)fj;FTehT
z@8_!R@+Kk?#o8%#RXlYqxz;A(pH0iR9`c_&alYAuzpsD(eJxs-<y3d8>%0Gl-|8ZD
zvwT2_F^AWK$MlS6wx_s}@83N>n^W%aJ^!?}QdG2ZW!(9`W~1{a6T?4RcD~{1zLK7r
zdUdki((QpUA15+=E4$OU_w3@eQ*Xq6@6&$7wW(N}bK;LjWj`3|I)2Pg`tkVrdDVR#
z-~XR@|M^GYkCT71Dl6IV+1tlo(XRRU;2<+QpVPVI{@TXRuJ_gnzK$0Gi3>_wRuude
z-ynHT{Psf)`R>^kdFGlm8)bhc9nRSoar%dn`-$aKe<U5Qw)tOWTk`O?-`NtarSg;1
z+GH;z{0tF$ruF%=`uiP^RhAq$f5d5Hz$<67Yq9~aypj)oHW603&f4gz(%g7{{+_>O
zYjng8oqv%2sdB~Ym*y>8lU(2E{PNyr%KiE961A6CL>^T-7r$YSl<Zlqy;86uM9?x+
zJ?}u}<k+BHep%~h>g?H*oFtm|d{5?8m*Y=cCv*Qk^77!eZ3kbAuV0&UA@8o3ec9_*
zSGV^a&A+{B?fRJ8GWurocc_TUdGB2^eZH~lo>wn=|C{Zx5sE9=pSnJCRqCQr@7TN3
zu617Xyd0PPQ@q<|-lEC-maP)Id(NBJyL{`mcTrh8N|vu%x@)77=byW)R6Qq5+tTte
z({bVS<|h+{o(WIOHRO~MO*>Sa+;pJDLiVt~vnBI`pIV)4=`6)EGH<5%Ma>AF<ePai
z^UW1O_v!k)`4zPvrcO_MBHyw7f#I@6+YZ+muCiLC?wv1Tw0_gGh&QXbZn6LJU%ze5
zrX|nQ)_=Mp=A-8kzui84wx#>l%=YTY(#I#4ZRKt*`K;Ib??iLz_O+44uV*CQ4!iKy
zZgT8KGgZ$!ORpaijw<|VXJ0bQe4Bum&x!K$m$W-)icDDd;F3>?UqGON?gFOX%MZ;>
zZ!a|8z~g@`h3l=(l<??^+hJbI3>Qu6|I2lz_GD1PNqwyn<G)8m`OG`nRNtr>Yi+bx
z!MNB=Io9~~j<mM^b*E#^w`|<Db!pw>3%_E%|G2QL?c29srOwIkrc2w(eY^iQ?@NtD
z%=V;HFXu#U+_x>+^X-o=&i?eIqY=)hufD6={%QUP!_5z7^gf(%(^F3~QBG3zXx{Xz
zO~zWfigD`~b2}8p9sU2fMS6Gfq+r&zQj3&2hIGOC!8KkVCwiV=_LAj&){=;>isrtz
zHw`b=+2}ure4j6yeQS4dQoaArOY5dxR4Y8yypp^AQIYlc_*pw@yH{P<cK%Udy`AO$
z^1%P^T5_Ww)%@oE!msx9tC{1ZvjxrfW~<(NU^Fx5<MpCHvJ1UmSpKrA&wuU|WuPZn
z(j?{JpX#`E$`L{5If-*JOls$9CA7Odj-1vlH*H#b`zo22J`8)~lFsj4(d8|e`N#Nc
z%7vrX&K<iYx<+K0_>~mr5a-X=c&8m-v24oIMlsH5Pqyyx{#P`uRd{pmY@e1VRknF*
zJx?NLdUL#6R&7vFt+Y<%fn>eXBqyn-$`>XkHeOi~aj`gedG@xlH~E=2?{8fA?4){r
z_2SjpiMiq7Yk!!no%2s`@A~{-4}VR2rv2;p`i#6gSH*e!{x8|SbLaHf{_jO`zt>G@
zE&HmpN#{oUqh+^vw0IjBH3XVhIdf~t7PJf6Ua;8X|8zmT%UZcNJ?zbjk8BbIHP4(s
z{dJQ{;*6=vSEnYNn0YeyrR$%YUI*j9ni!p2I#>4n*3U81OD<31eQLf|!pb)Djv<@D
zw!;>cRT)QppGx0So2{mM`O$kuh2&dCH%naq-`bV%_uNwEUsFW>9=J63>%m)FYqw6l
zG=J(=7N_#|KOzC_n<hs$Yu@~0Vs%liiGkCBb*jyI8J){5X(98{dcLn}oKUBl_=-zv
zUZmNggPU0R*Pjp9o3U2JQDK@8M^1-^ffDPl&BC*VJ)5V?wM%+uf846+vWsPj74yD^
zM~qCfxv#9s7Ve)atrz{4b6NPTJC-|FeQIQ7);jzy&^>t8{j9~-d+*J$eZ(iGJuRKr
zX5;aFMa4mn`a;b1wFKB`c}$wQ-si@b#f+=i=4s7PJ#=NAVpJ}__0PMjgPMH2?F-v-
z=5$${O-r9v?6CRAm*VqxZLPc}XP%wj|K+QG{5^khnThxJ-*>;4qUg8HKlyRKCGSGZ
zX*xC6GaCX_CtDumw>q*o>5=%0b6);QK3p{?Kkxbcr}4w>9Uq=;YW5Xgo&W0f?#!<)
z=N~>gdF<dOrH_2ytlBg`hL%sPdj0Lk#pr8m_ND67{TB0;-Piv$Y4fce#o<ymv$h4F
zi@z!JOZu<$Uo%f-))a*s()?4>4{d&!v$5H4^{bBHKuaUhz}Jq8L$jBNFt*5>xpe>6
zSocLyR%orl{kLbf85rAdJC^)hiYKzCWa>A|i?_GrT-Ew*?#0BY{`Yo?evReo%!|7?
zzpGBy+rP?phMntv1-|Fzx_K5Mlf?HVemu4M)|K85i~s#w!V{i&@1N2Cir}C}TmP=K
z?6a9&Isa~?<-IA>oSqo|7w)UnI_-Ppkm<3Ptc_<+dg>aOc{tj+_NoR=-DtMKwlie8
z!cy<&2jc>rJ}*7&{=V+5?dQ3R7neuf`+MvDyVj(S>X%HpTp#)0G+lLObGj#Aq*TnL
zrYqj8y?td0S06d7y|kimvCB~>HDz_jSsw!`nq>q#ZJok@`0Tx`_<o|nyNBCO=av6?
zR1<Kr_w+KA9f=vg-mv^zV{TJW<ewk;_R}=Gzw`h7d2YY>`QK@b{|~%de6&60YUmH&
zV;`$M#JO)zP5y0I<L@c2?%*c#PJ5;4lyq-)E}Z~bhIO3t%I5@YtDb+7AQm*eZD#(~
zsf=|$FEPK2sxxd}*I$?aCHwllqaSvD&j0cF-oDRoewXw8+gh|@)2gBkpSJqTO4)>z
zX1usyu6OrL?zR?=tvkYejtHJHOg-{CR8TS0{KVoTYYx5Hsp9PC_WG!QZ(IHJF!tEG
z<nznfr~B$i+g&bx{DP%6>(Ra5N7EOi7S%W1V2Ss>v)}O#m(I<S^DcL`<+{w1KO}PL
z;E_$-nT2u78Kb8cE;yPS%6l=(%tNL}=mF27<-rfEqdqNUF*`l^aA4C-jm9Ig3Nwv4
z>V7KRY%gd1dW7Yd;k}a@MKWP`Eg7r-GQU62{OEx-^AA^<7WVs+6W;EV&+;>h=Gi&_
zZTw}uUq=7LG6G7CqgTs37qctND{|@54qwC=z<e}yw<6=C&IMh^ccvP=xGu0wbvdh3
zNp{4PiFGr#&TMx5p?;5D_GZDoT|qx5CM>&}RT>@ZxBF<0(I-9YNtY)HMNXfaqnW(D
z(5$7HantF(nA^*PHhFJf!yZw8;NME#>-W!kFsMrBZIKm_fA=E8x=JMO!t!M=e$Sp>
zCtLN4`LFtPv;Cd7%@6LMSWy3R{l@*8N6y$-b@sXXU(7T+vxNDm=#k`fg<YQ>D6IEA
z%yqJCW_j|2+aCLLZ}J3Lq*+8BJZNb#WzL@0>n2~{ZW>=6TYNh^R7m}P@yT_z319!~
z1RQ+kZTF~X+WY!Po=UbHHqt!~{lc+x=4EyIbzf1@3D7_6rOL5N@#mM>UN5G7vQY5S
z{PyI_6Om@N%;||PYXrov#P6+9Z;_S$m@#v)rtj$pgRN_Jzuo8V|NnjXE^9{{mf)Sj
z`xjNe2x;4Ezc6`q<*%*EzW@Gdy*PeV_+YtDj~BPYVn3#-ZKsO3l@@zwZ{Eqf>{U^b
z-s1UZQ?=4INuGJ6&wuyOOz-my&vp3w(`5ha7)|@8dM!|lowsnu<lEf5DJ!?E&YV}c
zA)s;3#Y^W8UH!W1=Sfq>_p4ZUIclmMRJ!zETIY^N{*<8YmeMa?e39M%lUMeyZr_mu
zyv)pt+Q09QsN4TJCbehbMxXB|&Qu)utFkQek@&t~V{N7Oi4v22)#Sn*9wr#a^x6u`
z?PjZgmnOe|Ve*zN|H}cvqH+2$>h(XbU0f{mH#GkFYoYRETNhlFyj;N*%bX$n$kKS`
zoJ2K?*tB9{?uRz^P4hn-UHUZoanph2?E9Cz;jm*_A+~&8&5HLItKZjedB1S-O7?5t
zY%A_7Z@=^Z!Q0ww)q9_^FDibVX7Xe444(G}|C|)Qgj?o$vCUS`bog>%A@icCpBc42
z1;}W;mbc75(zn;~-p2Wn0dJVvME2A@Te*CmRrmGfNBQM`9xYB+ydZy|v_-za=Z{#3
z`<v;)s~&zd?UetxQNfO_?$Fvf#>Nwv7JYoqovd?m%>`|jIYq%eOLtk`Q)HC4$Q7(#
zudiEb>FqsteY{fFbcY3Nt~}M!ExvR{X!`0EH(qM(Oy9Nh$V)A~GD~j(^VI!wve=$%
zo*{9vQ%{XeY<2sF8OxkK<hWQ^EZwyjMN7{6giP=}<R71ETlHh2JD)w*H+K0u-ybyZ
zvE6W4XGiJ1zv{hP{)h1Eck1mZl|P<nxs%Q1m9vaV|7(pY#q4}1tCbU4l-b$V?MQmS
z@W18ibbfgoiyF)SPqwU8=N9~bc+NJP?}8JB&l$KU+nsS~-F;En=7CNB|I60=6Fpf1
zw{|2g@s;@Ek?8hxyX3w5Q~x)JPrTs~8J<~i|MkQ5ElPghmHga}_<8F%3Ol!OJ%0G~
zK7XvB^@cz4%h`6XD7-KF`$-{Zg7k3@t(!Z)Y^)F~o176Ca?kGu)BT0ayzBH$FRoAz
zJ<z%45s&|Y^>0cd^u(^o9p3ci$ItFh8uvE4I`?kTc-ytUYp(j7#@EvI8vm9)OYptU
z+iTy#`i8saT~}@N_IHovh0aax_{?zefkoC2i)E{|@4oYz)w=h!h<v+s-<;hw@AokW
zrm}{Gt@SGp-<2sg?RCnPhUeej?)`ITVsVH3a?OLEt|$JqP;>OO;eUBs&h&VX#qmS_
zX}1^ud0F?-dd{)^yB{&Oz5QbS`(LM-Dvx8<XX_iwyd}4%<a}w=mg~s*&St0naf{t6
zCu8oe2Dh%IXH7T8t=*%)Xo=rd?|satq#pZEo;LG`@V_1R<IB$5{)o5P+JABBoES&j
zEqzCWn~p5)SAFP{si-w=cBwk!BDD>ZkG%ZyYsXv*Wge-weoi~%EL>YE0v4;LDPPRy
z`6akWS!%7HajVkAL>)$+Drfnu!zXV<NoV)2YH<!Ke&xKzR)meO_7hw4+voYG3tl{u
zPTm+_c}F}xtTNM6P)@eMYRM0MO+EK6?ZD(?tZ%3KZM0V9tybe(lNQI3!*|1IE%zBd
ziPn9t>$uXFr8XXQJDw3gIXjLcCd+WC%G2FpeX}<&xi7y#y7E+S=p9R;<FDkeFyD7j
zQNL-oOXcRQnS2L&`n|5RN?cx{$<ZKkx_gmCvAeXQackv=7{|NEV*{rATg=UMzrXyi
zvF+dEciw&Yx~uzh>DD*@UHXK%Hi!IrlCtj7?wcQD=4@&|TK#ZoZ2XOG*VQLEXE}R!
zv{mf<-@uyo=8sMP(Nr%n?wh>_bkjHe`19{?^|{!8M>s!poj)8|xHU!Cbh2HPJG&>_
z$%#eV(hV$+B$}r_Vlq4Ok|pi6FZ-5Hhk7PXFOb#`^x1Roj?H$j<|^yt560JGJAD`z
zpOTocW|!XjY0nR?Y_S(*HD~`Vrh8giBkP9HnfE7No)zA%Qh#;c^Hqn%UAX=~YKp(E
zn|tF*z{S`rS1;V#u<~BcD~&4q=Noy_=bldfxt>Qy@#{gib)tP2iY)mYt2b;lu{QQw
z8n$pnlgdQ~du8F}SGjdge&G1O=-JFwSC>p@RaS7}b6+5{$<=tRqp;-ZgQxAM+C5Zv
zlwY#J@uJwb{?u(dw!5uf<(6%I?fKKZ7b|4fuaa8-_Qr(S+xI!!NNu^@tjcO?%KG8%
zt65Ex+-9%c*fNd%+O=zaVOM|u{n{A#M=as~k@VWs)P1j-m~^Jc#|B27`qFvfw4(i=
zmVcpE`;Yqja!xrb+30b68Hco#nU->o&SEXL7gN=Y<faBCw;N5l;wdVq_#m=r{VcU)
zJ+*+MyeBKCtT`v6?*H)Qn<Nwa9L3rHj-EQZaDveMiL3S>E(uUoQwgoNeiQ6k-&ddA
zshg1+B`%}hp<d5z&^YTt-oI<tHf%TZcX;<^x%;`U^9wrueH8q4{iVxIe}UUO#cp?|
zZ(1%j+wjQ7mIS5=GmDd?m+-bP{NU)=SmK>|=)$B^RcqWtSr-Ud)@SW<SnujSm+K?z
zEzP+9r{Z7t`yCX}nQf)@uh#2N$9(zq;;%03TbFDYu;sv1hJ?h}<aHN6c<TL=U@&0_
z-Q<!|`sn-nUH?yg@Bcq_-@lIrdv=A#_{Vd%PWdr0<ZrCyysx{zSk(3&e{pEXe76No
zY}@*yW|Y`@c{VKwVzyR4x;*d49Px9vEkE9}$(x(zC&0UGqNduG$mhHFeapGN{FwE(
z?RvMa?%JIA{Mo(Mm$|3;w{Q8iTHKudMYjE)`D@E{R^QxFaq-tG)spA;z8sdk9DZGV
z`W0Or?Pw2<>K&5j?Y>;hKUI_@w^GIY)J+4P1Adh+uNb(Rtf<N^k?!<T^?crZXOe!;
zv24|kcVxb}PJebvY`s$iZ<A`J>DvsOjIF1)u6SPg>9ekwTG_MkXW>)CqCe^E)H^OC
zXi~Us&iQ5!x1fdsrlVHL)d?kAHW$CW<+r0-RxI-ISF1NWca~Kw*u7!H?mfbdeIM2?
zTlw&zX4yfzl5P8UY6+}Z_3iiSqn(o;&YJa5i0x&vxkN*T<k=AW8Lpe%E_upLeG#^e
z;Yue%p$Dgk;bX;f3p%@(#AGr3dL+?uF{O4=m}>BPtF*ZpzfMlwx@MEY<qQ4n-~S|9
znU$KA>STU2|JA(J^!dWfTk4B4mxMj-(n$TSvZXDkWs}gOy@?Or{y5n7AnC;U^(PVo
z+L{?&D#)Gsk|XQMzpP;IeDBpYt7Qz-R?eQu9k|^5(vRwI_x{eFZZDM{^y<gF%ga^o
zZJA_p!KH%#_32MLqc3f`vhqX7$L?nR+NJVa{+askwfK{CaY1}d{ItkZORWAZIbPG#
z`nvs3?y6EF=KkyM!uk8Mg8ryJ$=ktoDXuc*vvWkY=*nfBAI_cm>=@u3CFi?B!2Zqu
zPu!>Dw3_xlVsAY7NW3k+%8Tn*;&M%qCwA?sU(BvO=ed^dalJ~rS7&DMsr>kT>H1UN
z*%qh0X9?-LKlPVQPi^1i-)o-Mnq}Q(3fJ-8cSpbO$@}B;>K9jB;4f^xQ5?5??v!Bu
zJ^iHx`=?4j+`;R^<?m$iT8-<upWnoLTzMw<D*}Tz1^53reR6f)v3Jh**3199`+kYd
z1LYLMtB36^<g%15+lfvzJS40y`ZcskZ1?^jOP5b;ocA?uS?$gV4HYUIB#ffw$#l=u
zYe^RQA+h4awSbnsbG=$py{-LD60+<4J$C&3v83YdlaH5|_xm48oqSyJZ8^X35xHkS
zizgNM+4=|x=r?!udKNWIp5nixWX6%o68<=mBl`YtEQ{05vuyD*kox@7qNj9q(s_5?
zzO!?Fa<HCineyA*Pk5#HYjeHYGlzu|P84^4=vkptV)9rja^teQQD$$eb{H3L^0GdE
zB>SOozsKhl^3Nygf3vydc7E|j%g-z3`ULQwJ^IW0+{!0&WcAuM8EHBwOzxQ3Tr?&5
z%=E1}`xH*)94nZTd{)9^(sG_KvqZl`RauHmeY~l~Zu$<2OFHtq>lcZA^nY~wz?5>S
zKtJ!2=O$WS8rrM*Dz-lSG@<JG-11iKyKVMs=Jl?4aQsV4jQ?sehSxJ!PIz@yD)+qo
z_dn-kt;-#(b%geJ&F0eme(!fBQ;KqC>-LAcFFx1Zk*I!ipI~1X`-9z&7@d?)WmT4`
zX-+%R_9DYnYpU1kOG=ReIuF<GFnqT6%B1(@Yc@7ck5lqdUcZ20|FLP0_nlzVn`zt-
zVlDD7M#d%ifx@(#u39Ta>zp+fOBU>QGTN$S@$UJD2W!j<<QOKHG30bko*3lo#;D}_
z@VR~Z+K-=1moUX0{p3}>^4$}u3V|;_Jl2R@oHxs&*-X^In)Tg%;fMC>989Y+PByjZ
zt*haDeC+J(o5f;(pQyJe8#M2hI^I0r>d}woY<t#l_nx;sUae?nZ0h>VPI{*?!<N94
zN1Pou#tJM7+jx#M=y?#c-?jbo^XvRxE&9R!tzgxc;%l2Xu5Y^5ardbEXE|rvdXxLV
zb;aYB{&!#HVf^#>rQ<R?M1qVQ`u9v*!R6@O<*+)ibjDBL#BXN>S5_=!nDQbt<a}TE
z3%AG*Zyl%IcU?MZ(tVxxJkKviEliF6>>6?0on_T>CMg~}$EyjkDQkCFZdK6h>p3+w
z>6*KD^U7VbCcJv~%9XeD#zO|Lb$oZCKB`D;N?#d0(MjjLp7Cw-j@{YEcq&}{{}=V=
zr|w;^da^#VAUXD~$g;J2c3pWH`}M%Jwft+Me*V;*?VjWM`*mJL;`w{i{lvC!VOce6
z_Uae^-~O=Q(rhLw#=}~^b^BW`GhLDSe0)05<*zTSs#Y_<w|iB=(u-SutB1?|yqJ3V
z`&Lu7>03-$Ztr~e(#i6l<gfiIv!4jdU!LF16<blHd%2_fxQVoeV1!1!>XS{A_!w>N
zxwwjoxN2CRTK=@GoS`IjwREew6_eck_XlP3|ET;qGD&6KGL}73EB8mUsr4lvyS6Q^
zpSk(fx*NB4Jegql@6(n;c7?%lZD*&y-t;?5PUB?my1w_Xw50h=`ot@vZTGEfT3GhK
zp}ahEZh2@hd+1J`m+xeX8#Pa>Eqiu1Z{3D!Z_E2WM`lF5skzE@N$+P}O454C*Oo`B
zN~d_#u>ZPo`lyvO3x~9m#O))D3#*@W|ET(?vN7QP$|517kUux}hrf1b=H9N;7|Q-#
zuEkSBa?LtPou5BEfBo4qeSLpP&%rNtr_L>1GVkpfYsUrL+A(P&_Z<vAGzdLRDcp4X
z#DWV?wF;|$ep~M*En9Tv^t|)BA`>ew^xQOwotikMKhN;fq4{qtT^m<k+jTnj=(&rJ
znl7zsEuGt#aPZ>Z)ah1TQDMKeYp!m!HGMSsYU#C}HLt9?4Y^Ht-TaGP{WscXuhzVs
zwr$p9;k5@>-3#&$ejgEbY#LL^ixWORXCn6)9G<kGw>TvwS}fzyoR^dQADYy5|1-a2
z)gCgLGw;6SN%pO)HZ^2jsf+nwQ?C~)DAqV(h3T6g)7AL4Fj<{{@pE>9%lT&Rmmjph
z+{*FUw>|XsDy<8<CcgGO<$3DdnFogddDxWA`OfzK4);&j-TWe@@Y5;g@3E`H=E}<N
z&wl!9bFyu?Uas|}+uf1u{NJbau`w+!<({6dW6oa0{NsL4yg1kD^L>5uV)uSpw{hd{
zaPu;`*Dq~1ZF!vGfBs_M!LF&MrrO#yty5JcS`7n&0-q?itVp}KXa<Xlc6`CqX7%$)
zYO-Z@Zvtc(7DhP~WpK(BUiClP%vZUkZ>Mj8^wh*-{2RBl1RjnL6w=@=sMp?pTGDYM
z%S<IM;h>7sIp-!H+8+P&nQ8RgTSb+ZrT(4BG(7h5lBnav^*drutKAOioy=dNUw`K1
zS1a*L|EF;%3a0)_P_bRGL+|H_Z*L1qGM#h#u4di#)(C72{h_vf`4U6>A5SXwE?|0b
z;I~M~mkDvp#R~Rjnoilj{ziVPzti%|OJ80xNUhR3@3ZFQG{033?H$5{=k+qx`UHm-
z+~vLP&*5C)`cpJm`@Qw<rc2A&kLo+k{&Cda_VX9%g5&r9>-Bxwn$f<tfa9m^<)qa=
zW{7AOu3aLzqGkIbNr}1kjh8K++FVq7|4LW$rLOK<P0g2@XV<PdlPaF0`$|vqrJi2e
zeAl`E?!?&dw);3!*lFr!ZKjK-<gP`uzL(RA_S_S;<C*!>TM3D}1-He1%6@Wwm~?J-
z+eC-o*G^78Bd79k!IqEu^R13dyS(&T<nKo}?Yq(|{btr5n6A0G*ZStX&dW0#8+rMX
z<(M|4$U12Dv~2#u@K)7jlk(Hbs~Xj52BBsP_SB}$Strse|CXakf3dxNY0|{~|7M-l
zntfJui>R)3z|HCNaz05FUD<xSnfw2~%;4g`H^iq&_QsVjR4<TNw`<d_l*k(&I^L}I
zJN?5>?^%-A3_G=--GQgJf0@2=x6-%IQ+3Qvo_jvO>eaU8^Y`((@$dcdXyMEFi6^!N
zotzx>P4oB}x4Ufb7BA1a?5Mx^z0nozC4Xga`<%R~r(|pV^pgIjqugf4{)Pu9?d(5$
zPxg6jtM|s)JIwp;wq8u<-~ZuI;y=Zc-ItvhDi^nkOgxuR?Z~%JR;+<R&@ZB8g{jL~
z9cLC6-r06qqOy)UA&a8|0z>uvWy4Z*Kke8cS=@E~<;CnxX|0W^KTR%QRw}a$I{op)
z+C8j`94GLL*>5a-EG%tqYiL^Qv-rI2m1}idcHF8zf2!QHZPMSfXW6|Tn;e?8Is4kZ
zy=iCfW|yw|e^Gtf@7I5M-)`{y{MDt_Gj)N9-M`gRhkn-D*CqT>+SCy3^7+KagczxY
zV=Ps&Q-iH`-Q3;xbiqs|t3~1^RVkmMbbn0=>iRsL{mr(`rjx}({dlL`vZ~CK+hY?G
zcJKS4@<#VfOO3>JpWQpQGt_3)rWCW~k1QWB++5D@;qpbNajwkX@(n!6AAkQ`zT?li
z<QMx&Wx@_UoFue;_l_HX8NPJ(AKLe)Z_=c`nwP?}E|h$2uxR;{$`K}Bb;s2;&wt^M
zwWc<Cf0iCv-6Ur+YdfdCv-eNQsMav^OX-DDmY$p+C&th7KJ>3`@uZ&}W^yJ~y0;%G
z7iuh7yj<+_>M-e$CYkW+XZ%{}$EIk+7{!N9&|VdADSYJ}udNI0SFt6!Mw*J+wQM@H
zNACZ+kRzoD<vSxbnZ;XHMNZk#^||=+oJ>A%G5_0b?Kgx1SE_G%E_Z)%f!E3(&-gmh
z&ly~By*~eKUZ%X|Z_De?#47BPd<q1fG`<j*UwFRmUGSqS3)>AjM>{$SZ%m&$t@FQr
zQI1`Q1fLVj6T|lxpKh5N;i0FQTvX?{@9-I$f*Eu2XDUCxe*VNy-X+@l=d;dgpVmHl
zqvBpoyPJLVx#Rua6F-%9|1vYpU9*1O`a2ueR9_K~m?>7D*|prU=D@5eFHfB`+WD#f
z*$nM&UT$%*k|{rT$z0{0U3FWUD|&Nv?9#raS3?UXTk0BWE3^8Wq;$2PnZ9I4j~M^C
z%{4n(|1|FNU6Iy5?ZN#Dy=i|uEm)(@=E<CAUn)F>|Ir!i^E=PSme}uctFJOlpEYy(
zF})j__Z;fAZnC$(l-kj?uesEBPu>z)mz6COZQI`O&yufw9`eNUa(C6e97cu{i?^_I
zwWx_*ZoFRlIQHgISAiEEKSb0;tCnW)RXDNl-CGeo>8o|DQ1GSu(>DiRl$%z*itloe
z<tq*c#%=!@^6lqupRXMKK*{_W$L;Bd+kRTl*~)Y2&)O-vuUU0kMY&%%`F}{e$t>~C
zep$B0PKLD%cONDG_*X2nvEfPknkUCDyw__BJG0xMzR2izeWmS>33GNuNG0$6`ugSN
z`zj%477H(I{*o*AdCQ#ZU%bku2<Ev<rdqN_OzGcQ=%0Gh;8NiVn@77lq_^I@8JGX<
za7F6la;wJudnbz9n`=aU{8`<y_sGK7^Pm0wAHCgOAQoKlM(=0OhKR1zb^RK~qKkVZ
zPtOrJHq|Kl`7}iZxkE-fotQp<e`Gt?ewt^`z0UXqeYQO>Tvpz0?Mr_b^m6CpA9s3x
z+~GY{{QmfJCY!SQA3IytaZZgXkdv6JG*O&4zr6R({F9M?8$15JIcoGh{>UFLLA(7G
zyTcRazHSx1@lGVa{P3N!bld8zdFjCy`%~i{oWCYyUSD;s=dW*Iddk7@gGYL&R~+q~
zY^}&@FR(Ot`38CW#nS?$Yk6;LO-e0s-Nh!SlW;DCkNeeusNXl2W-k7+HQ%^OLSXrM
zML+TP*@_!JSKB>4-`-XxxA&Vy?B$D%91~~cuB?o{!IRy4X3NwyTUvifYNbEEapBxT
z#cSJ_dM~v+cUwr$xhgLxqi(Is`Rv2VnG2m4zOFp?GU=a9x`pHxg@Tjwi!CSYkU9TB
z=2=ln*tGPIH`dggGyXaI<_zA;^8)%W9J&6hwe%qO`X7;13o6>@eCjtmEa`T7-K~O2
z_LA-GEz&#fx@JlWS2%f1Q{PzoPq@?5(?|Vm>COnAFh|QbI<hWTTpoP*`b2fAXh+*g
zn=3y}C3zjwOFc4<=&t|U*TlKFQYuz**UWwHK2Ow6s-G-ToUd}S>UDt3<ch#g>#OvS
zmc=jnyi31!PP&&@zxVm3yjuYir%rFJUo!Kjd`W7RSIwTQdsbN6iq_AT+I{2C=_RY3
zmbYXV{L6j#Ils2THaPX{>C|spsmm7qY>G*nGks>i`plRAE_8NJ)}2v3KZB23e9rqE
z?zs;t@_Kuh2c@kKN((xe_|GWV@WUOC>8-n3swTN`S<ExDjlb_{<#p>B+n4fPqEn^{
za25H)eSDqa>~ntGEiNf-@wH2?tE4PnA{8tx!|l!f>E^9j{}|W(ojZSmf6^bbJ<I9~
z9#5K^Tv2FtvXbTT-7m~y*4^7h9<DxoKk3XguMB-7_UavmhnDvR&+|w+_v_s|NjAs#
zZztbi-d4-=vp-lv>EpxlWSiy3?^x)*JZGSpQ6agh`TYJ<U#p5QceBZSd1=#qHqWeb
z`ufQ~UW7mV-^zDEe^N`q`<Xje+dew#eWTj^{IY-<ui5S~#6R`>xH@gKZSK<CCAU2`
z&k<XGa$@}Ek_lU@jY4FMTK83ad|wp$WcMG>DGqCP-g`5D$IgODZ=bz4iC>{qBDw9S
z|0$<cKT{SaZa<#$u}b&*gVc`|I`@ko7D{iw`ikp++F!x@&;NQVxc)iG_x8_6jSs97
z)|GI}8wxLRthqk-QI7G_CA)HS%ZmFJ?{rW0Grqm?@4<ky6|FBkv{pWU`#VBT_nP!c
zS>K6Oi|=0C(e}Kc^}e~*N!8w?KI!dum&(;`v$4FKwqBz+<*T}w*cY9u%L3ao8qe<9
z=oXuzzfOf^*>dNZkK{e&JUN5Q82hJASP{s*#P-^ar4ybsMJ9_IxVilkh`w!Y{aX5u
zWh7s*+p7DY(&nzuVUSI%nO1VS>DmsKeQ{3rE__|6ZvWFd)b#h<s+zr7qCfV;$*&1o
z`@U+Q^^CV=>Fm2z>%_D8=W^UFHT>hZ_QP&d8NI9rt1d)V{9IJIlr2wK{lU|x9RGi?
z?Xda6T=6>TbzM!fz@H!W57wT2v(xv<*$efTYxZr|`%s&-Jy6%ovDj2E{Qqv-`lBDK
z)V@r;u({-FWvcf<_H&P8ld{!gP4{Yv%(_^<<>i#wejo3tmT<&9{l4bZ-ojmM_a1*g
zb84@<^UMP4ix2l+l6bmlN_G27mOqpB^?nzcQhom6US}t!d){I1G^<vbh3+h8eiVN0
zeX7=Xk=TgWLGN^(V`h2E-O~<!XX{q|pl%`O`&8}kW|yaaaQ`KDZ*%MWg?3-RUvPY=
zk+GGt;&D$3r`6%Fg%`Uv*sfyb@a8$(Vz5Re@p|!%CXE@AiRvx=0@FlTty?z4Jj`oR
zZBH}^e!utvr>J9umxx}=K5;F<K1ChVU2=z(JYVX1^>+7$-<5m6tf&fCcvCf1I8oAT
z?+dfuKm+?jaSw9S+z#?^{FZ4?)jZ$bHZ%Ef$VZONE?YAf)^o+4e;v8_)zXXm+w#QL
zInU7Ln&$am%xdW=#~HR+G8R4k^Oav!${hRsu4h^Igr1U_PBXNtWLQdHu+-1921(3+
z-kBHNSh+Ys`lWopyPuMWik{o$|6=#pJa>*><wX-`iC4WGr{~A=R~|hcAX6ogH}m}+
zVSe{68;;YqYTpj%a`9J9|K{>R!QfHsjbP<C-ntX7gyPe4eO^!Cuk~JFm^{bmUvXL1
zuY;P6b$?WkY?RB~Iq~wROFJ#PcE8vauylgf(PZD5qWz^mnm$H6pEE&7{)4w+<I7z|
z+jsA|^7LzAU0mP$9pw}ARVM%8-hY3RXAom?S7+6B%cI`2vQ~M=UOO{o$`PLIi?d6g
zs{Y+(vsz!<R(qZ0+<-j(o6h&Ae7X{|q~}oX<IgA5n>8j!*vh^BE4O~;N%fLLxm!0>
zzx$BywBt<cHa_9Mk6Rxfn6z_Km|0xO9p%V6n>D)Hr#AikvUA4cQ@M)QthePYKmXQs
zLdxbD+jY9O*6(^;Y#kBln*ZPM;)GSjlYZ&5Zu1b(cp6v2V7Bk0c%rBTr<BNH1~W}*
z);dFr9j|X(J^o_Wt5<WaPu|&fbz-jYHKT2!dC?n%T(-?Ub9-7Z%Z(4~4m$pNJlA^l
z>hv%5Io6FVOWni;9$Y$UWwy?2-qIAgkF7^#LRBQDRVVj-+2pr3D&ccT#M-#)t{(%k
ztHQ#nLWSjnJ(n-uuc~I?QC-->8k{rpX-MiRoeu^AW*qMiq-xCi7?bgfH7kAo_HB<3
z?J9p)@AUoH{K#MC=Vu%5e`h;4zsvm9WupxKD?c~i5nEQBenD@=+9j(EcKg?)x#cDY
z1;xzKT+61(GfB^D{>;7idu_vRBt@{+Et}teJkUzw)5U&Iq0cKWds?kDo96fG(eY1d
zs~1bH{h?d_s;MM-+G3skcV;_(U!J0-a&&r{$c{BfKgJx-bg|pf_^<ObpXH&qOy`V$
zER4DNXqw#Qr4QmVwmdVo5089bR-F4hYmd&4x$6#pec!n!qCR%Vvc5~@X=|@fx%qnQ
z`<mBR7p%E%Z(^2ryQqdc_VT5sSD)T&D?XRL|FXvEPYl=YU%PQa<lWKkrC$R(Ul)mQ
zKfQLEfcL|YS0Sy%OTTeEykV(%>DL_A&bTefH5VTp>5kdTmU-37I=SZRJekI;=icNz
z&ytArY5ygDdvDzDM|GUbg|<X5lyN)rM3Zy5j?)c>cSkz!D(hNz^)KAwA35D^C(FIm
z0<JUPy`1i<=tjGA9axxQ5kKRa!JGh{jdNB+C{7L1m|@GT-mri-qG_)AG;WRTGd`Pw
zF4SK*n-kNrv()hL+~A_ur<U#cob$@3+9;!FPnu)U^z~OnKF(ct#$$2ktsL*yLH~}<
z+PXvbWnjPA^4>eou1MtCPvcy0=T&EJP*~2X9M@~k3x61!czygBFMR80uHM#9Ke!pD
z9O^4bdu!MAHucE1BRw{f+m4<nlQ<dlQsl34xA<cQ>!Ko=)h})TUiwf}`JDID_6uGT
zbHb-xI=$(Nbiv9BS)M-Q*bi18TBjYF$$j<b5367HmmMt*zw)sc`4y(&^4(>B@YhK(
zTl1V^4E(<Plo$W5@y?j&@GLjp@Mykwl=6i2A1q(BJzl8%;dbTg43#+>?r43?`|-9Y
zEZta^<FCN=S&eHZX3W+4xbW?%Nt-xpY?5`%Znug{Cr4`X&Fk&^V6GCM?N`XXhJE|#
zr*m8WFJj(q)W1Hub4$LY6>nNm$BL6eFJ-FK-k;!O+@ZaX;gq02jmdPzMT$b}gM_yp
z$+&YTo8`=WDa$YIzU>>%&;7FYLVv4rNA&DB>ovbyt`dI!a^5BD-IuJNe!cIz{o=hl
zH8<F@-Cst}&n@0Pt?c8CUAGnH%cy1@lRmuTa=|7m)>Pd^bIt^wv)}x5#gBG>*`te&
zMueY!^{Hdm#^1J=GncZyeVMkBRkQEk*#%0||FdVTw%YjO({{6XIWAA5sRo`hx6XFS
z{+N=&Zg=$U0mD;1=c3cr$G9!N+g9;eX!_}2vWNURZ%;Mb=Cb`@iu<OR6^D$ZQ)B8J
zu6d<ibDP3hD-oDhG|%Y1@UJOGw@;*>To96Gu<6Y6mb+_un$9m@YBc{@s)%fa%ZrIO
zei^pMN=hFqJ-zs1mEIx0l_nh4V&477|NUo3Jf3`T!+oBzP#uYH-+fzRWpA4;@N&3e
zTAZk2nW9=<C_gugH-E#+%~JDJ^)D?yFFl*N^2WBaawYF8r++Bk^j^?uy;z?R`<f%t
zO=X66PrVZsy%&G}-Q@MBzq>!ZBX;}5de6QuJv$ryR2$ECyi3||SNkite`B?`)AEzt
zM~w0-dqe)UO6T7x5&ij}@&EPsKMV|v3=9nH#>W4i$gYp)xB1Gz&isObfq~%~_dhof
zePcpH(4X#q-`M(DOc)p$*cq6>Iv6S#lM_-B66`+CpW4`%dvpG~|7|&c9Rx)V*fBFq
z{KJ-6!Fcv2YmUrL@#7!oztv1$m$_bZd!z5nnKKLjmp}bBV<rsjtT=PV{Qvs3C$pxO
zgjY|Jn!BWb-tliX)%T8ss&Bj;s_D5*H{pM0{aW6O0tf!B-SRhJWy~FerLSXFZ<(#*
zY%T2k-|5}n3R^1=)q@AuJfCuErM1>fW4~j^bJDmf?_KbC6k@FUkL&$or9Xc24cO0g
z$1C!EF7EK1yl?Ba+CQ<!qLvy@(~x~D{wQS0=ADx#f7|wv|6Sd>hu?$JC-uJ;(>=Fq
z-oh*Oj$68ezA-Pgt<Md=aPGOn*40V7vYPsT?r@v+^4FwtYuBASlAehyD&{--^QOK9
z`|;JGrQa+qt6l#%JL-kG^8PvVvsmm}W^dV6WvQi}^Xxa5nmwO8XZ@9`&0Eu+*-o#W
zVw63@U3Zi60ZZku%Lk9Y%CSBdr)1T=`IE|nTOWIzYht!%ly!KV3yJ65#(vcP`J?-n
ze~H|Unyh_kiqnnkt9#pWL*u0HL>;(y%r0$puwVI#Zd=pN$VK6u)tC3%m3Hs{c;?}%
zeEA1f)0Y?SUgn^1OrLFwuRm`~|6$+rKf-I8f_Ic1k?(kXV9pQ2B!2tjc|z|3Fa6*9
zQa*m(*?9-0(kI+Mu6%Ot$@yE>GfcEO^26EKGERDG2G<Sg2T`AMj=Z{~9(i4T_2qiU
z5YH#iRW6>qvqrO%OW^VO$*&J?vEQN_5_5D)W>bIV-IIHbuO7Oy?$<L%Q%*zWf9ftb
zW}9wQ;D2@?B2N1F{+-#Wt2Sr4_WTW+(5JOFaptjG-ljLNuQS_Ws`Y(Q|F!>;rn^79
zo5p_F@rbX&t-m!X=RW;-o1yTL$=4+OWZMkE`e|F(cZ<%7kbR%(<G5?prd=;;UBB5~
z-TwVi*0;}0A5+eK_ubQN?YMi}j?IkKv(j$e4ViU0xM%-z-c5_eYn^1iuP^x<{&{`E
z+lyK9C69lVtoyuExZmKtvFPs^XL-&^Bu`&4TT<qKtA3$c?bpuzLh8+yA1@!-SJ!vf
z{cpzggCgtd4YeQ3ufDPP<lMD|24<a-?^X*4*1u>g=KVG$xWx0?S8lDp`UU+0{3-Sv
zweA9&6KaGSr+BSusn74MG!363{(P|l|C0j|amSC;@ASXA$!ho7HL()^V<v3WTHR<I
zD}BdT>h)E_D|J0q>&(MfwCAooS$Y1Ut(GbO>U`020o#|{J#Hhjf4XhkvB=NAQu|Zq
zo7T52N^96_y#2))fr)?SO#2k~Nn^*c{^tehb%Bp(z4<B?KB05figPgw%AQqiEt3ts
zzwTPiZ_8(Dmu9_pTRn5{lrkl$HEQ2Pp7E!wIVE%~EJL~9#`o^yFJF(Egzk{*+1t2%
z%A+;ri|-yNE??PQ>&yH0`m1NlCY4KVdpytU**>p1E7Jm9?k~-fn(KGJQ)~PA)tBs+
zi=}OQ_WOSG4aKZCVn+FbkL4$(ubZ`VqE^xNOYg7iC9ZY8a>~wa-p`Z!l)pvv@BOz(
zX#13(|C4hBUY|X-`qjLf&y9-?ZqIrVwsL3oy1X}{XQW%~Pp}%BuRNLl<?A7)v&-ie
z?Z3QiS)57S#PzaUUp)!Edf|VcMzHg@=%e<@LCY1^yuRLfqIN~s+tYhif4@3KCidk0
zmc8LF(UU)0=VpXYSe;(8So(PNj05{-Z)&d&NfR&D&u)9}{Nr8Rkw0tRKa#p%H+Sa$
zwq-X~Us3q%TR#8P%h~VB0*k*H+wOAkU3B=wS@U(X7b-n7`|>@t{`zF=n!{|K?|kfj
z*gX7hQvWf>`$}ij*G<-$yS6s`Z2hr7>ek__8@sGSOLOa=*&mIV8fu|aIPcZYdq;K`
z2z|dJaqIFMnOo99``13Iw=oZweOX*)U%IV-L;rKeYPD&PtX^%Ou}}Tvcc$x_-^|%J
zU%B$Z=ArcJ_?phWhIMCU&;F2m<?-9Qy64H9R}+^j=O&-NdheazJn2cbzisDv<??mb
zZ+X9Aez?Tv@Ao}qR$n?}w|(Nr9ozQ2X1lVf_{QsAo7356-mX<T|7EGKuhTv2$nSBF
zR^JGIdsk`EdhI(>N?)D*^@H8_IU1LK`D$f+uvl#?*P&a}wyx;RUGc1Jp3-j3_siy=
zsy(~1F#WqsZM)GogW`96`diB{)K6)<Ew`q2|E+dY-#@GOx+xp+CBD06^sx40PN3oW
z?e?V=Vagf(J#1M^Vpm*zv%c~6bW7g@`<&<Mysf=Dtz7Zb_Rse%|H)O)K2&w{|Mc^5
z#ydQk|3uCFpPYYAN`Lb)qu#Rfs}d`oKmTwi^1kfrQ`2|K|BI_;Dt-Jt<IPsbAIoag
z|J{pkzke`p?G($lS!X`IH|=}7*2a03l-!CbcO7%zNNO#O_0iom)1d$B=d;xgdka{q
z7MP!!WFfG4(#Lr(CZ2gcKY!j%PhA61X%(r(9BVJ~9nEMJt31wqeq!YM57k-q^WJs-
zc0D?4){O+&jT~=%VoMz}I|^hw=3c$N*|@Ub*z~}cOA4Ds^MZwcbN%e^41eHj?3a9|
zE@IK#RliCWYn_=k>(rmNXBoT>#+$n@Wu$#meRurt^K22XGlEfFLd6oF_sm!MKJ&@_
zz5SuJ&vc%tCnv7AXNh(4`Ig_lf=4widFsL=cUJEE)sjAAVVs8P?UmwQzQRk5&R?H2
z|LQcUDaPr=MPd`PEiBzNCSQKD;M$7=c1v~t%)2n{o96_Pf9npve^ry>=lLV{kL;DQ
z2CEsNAD@1!DlO3ab2q&y)^#5D2iaP6?YDhl?YqJSw?Eir_cwn<v_$>%;$IW0T(vXS
z_tbyby8ZJF>(cF?O|>>^9QpH$af^6{#>Ta~W9FX8{kW>&pXK*;Mt^cwH2v-4`Y&g*
zz%kE#Ywx~*=yx+4RbR9(ozcxYqpdZs<i-4XXBMBeNY?mx=KCv`J9>ulyW4jJ9Nx6v
zP$$df@4bhzca|*MwlHd!($YOErYaTBv}!LeRA<wY-E(@+%`5DAmY?N9Z$0mjdr-M;
z$v54rXG=o(>-{&KW18PwF*!D2mvH=5=2y#pFR0(O$oAI)T|Uo6lXmFydEILMz$TTN
z+0NRTwB_8TZL{7k*&pxq&Qgf~QOXzpN5^{p&+Xan8vAnn<c`NL>d(BFu1+YvGv$c$
zM?SF!OP*AkAJV<?@V<Tg*L3YaGdt>4tJnI=wBEg_ANl)9iadMj^Yf=FS&l8zF%;N4
z*=EcCe^a7l{P);ZvOm3XFlXt$BQw+dm!7dX_fLn{<CD_l{eh-GkM{>plw6hiFkkYv
zrje$vX{^c9|2&gVNii@mR50>fWWKP#T!i63`0l^Co44iO-c|@Aa=+%>UYA>Lyjgy7
zy9&?aOon9}r!D>?Tj<0W{@EZuxIeEaS=Zh0{SgtpXL)hUq~1y#+tV>QZkgcW4|SjZ
z?vX3>y3m*SqwdwIj>~oZ7PgI_U$(`h-#K?XWU=gFga2n_);&x7W1lV3eWTMNUA@3=
z`)8Y}8Alb;HcmXRe2&v-$DFA$Pkwh4`#(>u>$7;D<F#Yv@}D!(1Uau?)>JZV?cO<i
z`pPyNPsx~bfA{$5S{Zh^zHwRi<g(_2s<wsurwHXe%XHhw@j3YG)M<x~-Z^{PWRdvf
z3(miemK^?<$^zANW#Y^OKkuCTe4~GjLi6dJ^S@`h=&Nm<)O_Rd8<um=%hsH)oC6b@
zF@N@fpEKr*=eV5v16I3NkoElH`%dX$C1$F3&RnkXG5%$!yXZ&mtBbu$-yGdJRjk0a
z|Fd0hfnMsj9e)yUCH_BeKiBb0l5*Cr2hgyx+4iaQNUQp1d*-hTW_yYpXEd2nkb8Su
z?(J`RxzQiR!=jCK<QF9N?nvxqf9YAYXy(rE{qbqW|6iswWPYj4u>8IAT=kW*3ft+G
zz9R3eHqE?j^UOT*#m^UI=RVId`1HeHo!RH{yyW$ri#oE-JlZkKKgXS4{p_PFxptFX
zI>M?Xj`#TKr<qUx=_8~#>t&M2-+7!j&SYMxHcPPY5B$9oWY{l@`Z>RA-0$hFduFix
zr>~gmmP>~%UhUj6<8I6|(?F4h`%kM@{6AH8rNlJBczLD2%%>t<-s(Md^55@s+&Ggd
z_j$ICSH{xz!aMcFhF@=-Uwd}WGsAs5_s%}uW6=Nq{@klF&&;@aE~{3@Bnq%y5P9;|
zHN3=i=Q>_v<KwN8Pj?yYFi`i6nQ^i8_Nl3V6>T5Iw0)mB)BkVMJs~CTo5_o3IPQNW
zH9>!04`17cZNmE|yNKHMY&@qb_{59n##6byzFm(j=XWmd;k%-_vzgOuqN!@P)FGb-
zRj>TJG8Xo;^8M_-waoUZY4Vz4PnO6_$~V$k_B>U0-E!eLQ~RHz#WNZ6IVZaECaT?d
zBK7smu4nSEX02UkSwB(ry7{N57l*fhzPiTXf$qM@C2U9K1E)*^8CUMz9`W#tJ@eN$
z3hpB83>Bw!lUH}2)pHZSZFl?Kxowx{o_+U*`;_i?|C8Z0k7s^=_P62Iubj90SZ*9P
zl@oMi^yS&?C1Ln`S8MW}2ck(o-im&^&tJgx|Nr5tzjqF5zWdN8a>`&iN3#2`_bbwm
z1RS-P{p0xyU75#h>pd29#QS{aFYf2u&|ch8{YI>>u-WX`$Fn=6Yn0iae~jL7L|bUZ
z;`y#ej1SHcW`479cBIpbeox1~0^W_D_YP{l+u$XUJ#|xSvdsfw$&ia@brfs#O-~5c
z==<{g5B50!ijmb(qRre--a0l1lrXoIhAiv;#^fjdZDTR#&IvV|_tH#_|8L%Wa>X%&
zZLKrv59+Vj`k*5rrMZ4XMJxY=qmvr6PbAH((*F10jMne$voqS5I<5aS*l*0^73N>?
zowt5TbB@{Oi#?ed6BHKf{<^7le{P1sYrW0y{(g2h+~s)f_qPwOHm5H3m&zPI!n~q#
zfx{y{`vvQrvn!OOjy^c6%oyIHEYCJ0u+Y`$)<)iYA+HVlYUe!Sl2_37Js|opK%uZ*
zKHzu1W7V~M11@F*yJg$96|FwI_RgubcTR1rmc9KiHG59aeX+-UNikmY9@fA4o}rPw
z&{(O%WR(KjFU2zt8O$r%g&dazvZfoAB(hcSI3!(naJS^%j>R1R8Z3LYW~5&{)NS!%
zyXV8k1|^C7{KG8U3fk0b4s~gK%4oV_@#}z0x^%?#t!&CHAqVHZGt_y=!k;i-toh4^
zgm8%#Mgws1dV5>$`=s09g+|9DrFVDADezB<x?;F%|G)cNob>X;6_1zCwm8Zyv_bFw
z`o|LH9EzJS7=0`36;}y3Xa7Vz&&}S6<&Vp=iCK3PTpC^nzCV8EZ}Tm?YsvEE9uB?p
zS6%F`lzGIc`Qml4?yrp<$u^1))Qf&z>hsKTJ{G^*u)Frh@$F?kPJQ>k7qb8Vo2Xa#
zsVD!K#+BIyU8QdxOX+{eNiufZ$oJXv)bU^5>yB$&E9?|FdO~rj;NBU>73C&0%?r~0
z$Wpr`*IEAM+Yd1Toq1=H<jXq(`>KrN9^9XK+v2$Nr;m5nL~TiusW)8y#?L2N-28{1
zVb+<<BL+@8rdfBSvYgOfFLm1DsO-HD;`h(KKceyF-+afaur(??%nY-(eq_s*emZUY
z?Hhi(Zj}AX*d>v=E9b(|YrW#1EvmbW=l#FDKUMGcS(X!p>QjrZZHO<+|1^VRXUmVg
z_iFDWo%Z})y+>_Y+OdekQtalH{z_lJeB%E7z@Y2vA~26<W6Re5b)Tg6TE{84$g1~u
z2K4;Cob~0|nf=epfBI-WW$_Vq^%H00Zi)E*J+|imb3?(RmuVcvzpAGuJ^A<E(q3c9
zOoqb4?KSF?%a+}EWY7GSLxNF+t)OPx-L%cUg}K`Vuct}py3O8ew)kw^?DOBgR{j6r
zeO_Mf=ilv4EM*^<?x}8Y<|(?^q#D!s^N`${2W)r3r!-j3dC0#fT&9WfPJ^Y8y2=6p
z-x-Gl_c_e<^1j$CdZ(c_WvavhHaQ2qCv_gqx^5eq#XtCKHce=C^LfBv{-9>5u+V{@
zTGmGt#P|5lZFMWyr^dE3gE9Y_>H-1T8wZ$Abl&6D)Ntj0R?ueuq0X6O)4}N8)`Yz$
zx$oSZ12#f_gMmkXW2Hi%h{OFW9l6^KXYX>%T?4L)+^&NXYVYUAF83eovo^fFo%O||
z-AC6nZ@nLGFxS_jDZ4^WvhKu!?$8RE_kSKUzId`+=GbPow4aqcdu{qk_dmICBx%my
zY~IO{jFI)H6NKZA+w9-pQ(OP!!jY0Vw|n;5GtQ~W95l7*>8VdGFn^!?_P(f3x^UkE
zsd>kL|NUHcWdA{lXP<5U{fp<^n{(j)#6@j4a}FBDoIm|XPBYYC?(ItJOA8Ws_D*CA
zFW|fGA{BJ_?H`%U3^wf#M)HsQ5?SX6W&YrrbNH-{Y~~TwiEeDFcVsiKNE|bsoovyb
z{ln_g3*H;bL2hi(5B{7n<2(2~a&N@!yDeuduRUMa@V@dO>ki|3QL~4CJy`qQwYDr<
z!TVi2ztP%@>%(4?W^JXZxrbg)JQe=%r-$g|iF=DU&aHp-=%L3|(VV9F*}Ep}-_~NR
zbd~pEgU8o*(#CC~H<)bu@3K}(U3*x%um6fglhCdT>APmB25q-1=bcwJWuIPPuD`f@
znqr8-JY|FG*Ew%8UmuNpdt4#jy})V7IlV8}xAIlJ(mU|~&<@2r@+*(Od2F80?jhVH
zGi$~<t{JJ14xg~fG<=`jchZs5$WOArC-|=M*<1I7C#=n9ee!<(S*tgP6z3c^wK;S9
zgzbcb5>=6`wf_1EJok!^NzG~MOA9ODyZ*u8+>F%oZv@vIGTV`UPV7$qyXWs3OFz$=
zafWfu0oFbJGoST8VEVFoK~wC7n}_uN)CO`I>8$JAa>Ul#c!k5V)YTg}e?Q<2n<1Zh
zRO-v-OaFPU9A0!KQHJ3HsM@%$cU{B(T15G#+}p?2?fNMAFMq<_<Px!T8~fS~{$hLz
z4!jGEo{9QBka2y|U3Tz&(&vIcv8{^D_ry={T*AzHrZ|(GZ}GEK&VPyfb;ZkDBacTL
zv`SP(Yrb2>_vYC9Fma1>wQ-BqnWp-EmN1T%RytUBrs}RpQi{cy+<OV{*S<d_@nwr*
z-+8lBTUW9xPpIGgPuTZ@_obYm(2BmgOU4`6jZ9x0;L!WbYn!(E0*mRhTM4$G|3%Me
zxb9jy<<)}iT%UEy6(0znJ1bVW-E09f^9+X$mVcXl-@Fy(_{cy1?Fwh{HD~>P*M*B;
z*%W=o_V~{8>`ZsstG^e|ozC*dN%wb@0mJ{>_N>NM2Hd~DJ*Yfld8M7VqrSpC%VN>>
z#m*O=8_t)NKg@om>`=M-e`61RgQAu|hKBXqq_2nV;mY1Ucf+>amaV35Z(iTL_QM&Y
zu;knCra!rTcjorWANTDg@5`$hx67;w{QcO@rar2v&hEV9JpJhtt*1O+UHwb9v-XAN
zPn&(g=aloagf9Q=H1?4`FLbSN#_yI8<BmNqA4eWEJNJ1~QkCF&iSu0B3g=B1x!hgx
ztU_+GqxCtRY}Tsteh>Vf=s5WAEPB$rY~KDI_CGgw3KYzqQ1wqK&R{kN<95!K&-EYO
zPZw5vV5a!>kL#WSGeM@jU<dWGSd&?*Igd>IH68X;*etK~v^=*uh4)=xCe!BWt{a|z
z`glb-{iuu(i^=2qsoXnyj8{iBmtQTq=JU)<UURv)W!B^whwb`=FLm#ZG@oh767yX5
zTcG_cOP3q1w|KK}97#0#(Z2h~{JtuNi8>6-3^pHgj&0VTCwRUi-FV*hQ<LxBI+K_C
z{@kr?=C^O@e_oaU#bE!v__ArcYt$M|zO4OYmbT%M;<?o|=lq*e5|^!d_h}x7S3%s@
zygXs&lmD;UxYlhg3!VFa&Gy++HTfpyzFGHbBn`K9?ER{gw(PC(H`m|(Po#wMkEeZE
z`B~@QZoftLcl|5RTRnPJ>B02w`friace_u=e=?B&>t9$Cu)e+TliXg3vU4Z0pMC7<
zXRGKaKK`v(=(t+VJRK*w;P#(>Qc3gfolBo2aQ;lHQo-Fffs<A^$`q$p`UxsNF{q#M
znk8_5E5o<bi|lkxmfx&dW3lg`f$aeokp@PY^QOlnZ}v(imnCnzJ0rK}=Gm%bv-FfR
zXDs%9j{SQ7+wR@VtL5WQyfkJ0@?kBX_k-`dxo4c`=bvz1ePfN_;c}iIe-HP0u*f{%
ze4@$gAUN&7o|Bsl8o3K}-XD<CbLi>P5J}{+RxrEB=lFtgr^eiX7RC=ftN5-s`^uV#
zeQ@M*Q+U92#bq{oT6B7&O#t&=UN(olyr~L#$s$o37>j<CIx&5^(874e@c`$$4{V=)
zZf<5jG@(h0CxMr}qUp!|2Qf~eGR}+=`~PfzIIEz1xp>U4g%2-rzk62_BlS)y{&4K?
zg^K-sbq~#Vn{7NI?Wy5lYGv5#eCKhn4tx0#MfRr|M=i<<d(AiMq`N3GZ=G?>Fz!eY
z>kSd_;|s+;TZo@NvQYeflBH;}$d{tLqnji292cCssx~cJz%7yae;L2CBHPhVADp!-
zzWX@q&U1`kZ;-M;syX7Q>4~r3+=RFSdi{JJ3w(d@-mcEWnNe!v5B{x85pkdy2=*Ba
zehlmkp$x1HObi+fAq>3?3=C8FL>ZVFm@61{j;U5KB{Cd;cwfD^{Cb>PX~uhZ7wL~y
zdu9GAE_VLqyx(R0iEZ}||M|a6+`^obhe4nrFGBr-?!2aV7Rwh^m#ui|og?`2^qUJ8
z!f!5KzW#5`n*4%eF8BZZY~SZPSHE_4vG7BKI$nvHeR&pJEbng0TD|M>&9+_7Z<T#f
zJ(s&izc@Gjm)7@h-tmv`-F+!-vun-1pPvKn8*N{=H2?FP$8XA)U)d<D$;0wH_}8{b
zi{q!CbrkQ&mXLfhQP5xLuyp<3X(<Kg`mcmujl7ZetR#{(ZpQ5S&kuWjoVK<({M^X{
zyU)#ArSxICS;)1@y6DymKYDevOIO^QsPQK9+ji3^*2<KWGSQ#!PW{O`TM?>r=4`Iq
z)A)+dUOz;pW*=3u2|Je^UCg!P=`Hc3kX3K5_@|Y3+>o91dY9iE|1^c9W~W_m93O7D
zG_QUUpZtx<7d)3sv|MamwO6V*x_|29hNUupPF5}t{MuSv_wd8S_PXas_Z;}NE=h9P
z9IxCbCp6w|(3|$>^J%%$8xGc5?<?5F8CQ|pQkuH$vvGaI!u*t#3neWtg#@`a&JfG!
zdsb*D+Z6aC@8IgTXN@v?Gyjw&Mq06ktNdw=s?jdso9C0CY!}0Ofh~21*QJZhb;?2=
zn@ZTe>2GLUw7}D<N%!Er@XvSmz6mdAJGRA3>04j6aAeV!!yDdp|1ddXV{mhUoV(a8
zzqp#vhn;K8)gRR@lX@j0C_Kydt>K$>_hY8(IX(}3ZQI7n<zjUzPEhcC`0~xaZk|6}
z!tk0UY<i7I;d{Z|x(%;QK1=v;SI>F&ykwP@>;Hu^_hqvtz5jaVXD^TZ!8`Zf+jM>@
zc=P7oE@$&e%PLB4-RkfO+V$^!)2vr@3-_k5=d|SK9#>wj%qx@7eWm%}^(Nhg?-lIo
zeb3Z~7rGv<V9Ysa+#tii;Ck?X-^ScE=eC#S+>SX8YSq29GW&I-^o^CV*CqS?=T0p9
z?-8#*afyoR=>@M<COc_mE(vaE+U2Fl72L8&WbqECDHjC2g1RnE37oOXYSq&zlLOWM
zUeI^d@MqOJ<)gZHsZr<(FVj`07ipNT@YIc6Y{u3z!yx%0uhEGszMD>{wa0uqalDIn
zx6zc9=Pe2z9qMIYzv;t6b%zO7r<SeD3-sT<a=o?5g>b1?dc7Gw!m}><Seh(vEz0!N
zetL11*_NfUZ(lmNTfLn5>7|Z#><cgRU6-5ZeOY8)D>B*l`-|1Tzbv*_Jmk`$<=11u
zX`8~pEO{iM&0tC*PdbaT<k5^{8LY{rJ%v5#O?{`=^%tEu>7r&hQ`09^>hjYhHshH~
z#m`(be`YYf@=Q7-cchAWcjTd<X&dK=etIFO9l7-Qny@C*szXuNHqPVCNfDlX^HA8f
zjdNw+q=@f+I<?>SO{)Cwr{NCoEf;vpJP~NOJQUccd7^OdBNlbbqnYOlrWMb5&LqC`
zNb0&jY8-Ms$_xw)4YA+uudKSgEq8aP{{6Z?zk~%ugv10zg{M!LGHKexsguJ4LW05q
zLxZnhxN_;*#jBUi4NQ#83{8!<Z`iVF+s3V%%L_`1$_h)1zyDC@kmFHiU}9+a8g#qv
z_O_k>9s12Ue;05Z|M1-9z)IuidNI3--X2?P{awzc>eHK}tIglr)%^PO_W1ga6*G3U
zESa*UXU&{FO^YUN>RL5xSKG2_+xphc+t;{o;>OOEGk3Nwow~JmZGF>&#)F&;3=2No
z{+(O8ZD#4Vx%#(nq+TyNy=`O8?Q7p%C3AZ=9+ULf@A5IYs505t@T!TIkNIJr&1cNo
zgNilH&ew43EV*MhMR1G$-p)t)3|eo}>)8d)db6`J@fB@w?pSzfA>ZbXtZv<nSBy@t
zU2x26^@>fmq_Wp;zQ-n=yXmG_Qs?9LwcBpywa+aRd|%*haVfA*t&wAE-@<zvO>Vrk
zI3E0*McwM;Nxwp^PQT(^#vVn>HqY_hR6OUk&GX#{TJ;_YYU-(7U0|zMxbk$&JFf6u
zU2c~$icEFa6|Q|9^PbK8(knIRyk$3a^GavmzWdOxT(WF?^_|yt-!DIAyk+x3kzZJ8
z?)H=kF9rLn&ODy?Vaf6npSGmioEAR+@%HDq4~wSn@!1}J;@hh0Jr#GQ?|l)o+){np
zx}<8l-usIWYvq4jaJT!`>0kS-IR3|_@O|HU^G~XtFW>jQS^nhmhU;}oZ_@YwxSC)0
zoxSznlbQSf_zT!D97|+iU^w$H?drDN>aF1J*S1{st+}^nh~8^uJ;W^7=;63e;K1~K
zpSI@Lytcmo`(S_Fr_C9Qx)qm2By}sVt9azCu+T-wTWMv=ByYu~Awk~CYfCPjR#@y~
zbXsY3&Zg6f%VUa8E3dElq`hE)6PNa)6-jl0F`TMXgQ6r;rv}HdiiQS7iiU;;$MTw9
z4T_d6y&4?P%-h`5>|}B&LfF^zatycb)=N>+xmz#CvCEcTiWHA6y&TJL`}I<^eC^lE
z_ZgUZjcy1y^BUjbQ0_IlC6U}~e2+!g*XX85u&?o59^<n{w`GdY8sBH)*4=bN$Xj>w
z9WL#)DA66AyZJ7k_1jIi<*MIqzR$=mTXaLvot3-rOriRml2e)Kb4t%uipP|kObw4I
zJzHvir{r{Q`JK}9wfr_;P9*!=d_7aFzvs)T?EF1n&sEFUd^wrE|JT{~|2{0=|L3jz
z|6k|-JGF9(3%Ux}FtmX}TD#~Bs2BtVwDen0N9FdjzbZfM8JSo)kLlNaoqfMmFwEki
zt3aU2L|4I3lZ!_Mf^{|?6%4oes5&7)sZ(`gh|$TV6N0o>E}a-=^)hurpxVsTiJ@jU
zpH2wY+xc{2xZO|DfB?l-(ZCSHqf-NdG?z{d46}S18W5;DH8e2P^y<}sVBM`(1H)~<
znqCM{?lrv_VtjV%g&^&<TQ7!Lzb(BGs6My!VyOAuuNQ*#_kO(?ZvU6p;DSOkui+Jg
z!@UNVG#2+7UbA@Y3(I(y&l+6T*?iXUy3OZSj;#lrx^=c42|BH_{gBt{HQSCwy<W5Z
zpxf-6ZAZgy=WIXhxBJbu<8i;=lpk<xmnl0EcwDCZkmvF_Wyd0)&nZ9XIz6WBXz2Br
z^25H{@01;n{eI{B0q1_3Z%2a9+k8KCx?w^?!1_Jkjzz!U^ZlUv{F-k^!|&I8KkQ%s
z<8u7JZ~gUuL5UgEaAJr81ul5x5X!h}&&VR;k>Ds0VsNlkAV_23kPTzq4HuN4<<^Ev
zTC3M?yk_+}cf&=s*|{69n%#c8;j-TDw;Qk9{gy4bpx7>3c*XGe+=5G*%jXtevwR*~
za8Y%7Y~fYY>vsz->u$eWc-{89?S~7>{k9*k7@yz!;ga_Hy&tbxzpwppQGI^x$E)V|
z|9-fvzyI&Y>-9|!94~TdFfiQkJiW&alze~Y+}^hN-<EClO_6D{lh;+w$Zu>Fi_Ga<
zIxRA<b!u2=M^~q}hnMH+6H&RnTdzgtH}{&|%;|;}syB1{_kO$izM+}V@=eF$KFfD4
zll?5;_G~`aDt~UbfRdtAlA@fDqGXVwtdZjDMc#V5AFaw>xBKC;=)B#J*Hyo(ez4G8
zuKLl+^m)|}mxjkxKVDmY@Aren{zXqtO<wP?Q0b`G6s_QOPD{0}W?fkoyxwuK+S#Zr
zS(n#2FW0+U_2t#&`~wRV54-h98Rs2ZqIo$Do{;wc`F1@1KW7uWjwOQzLzC>+c;%{|
z^Md!3cX{R9Hai~YpL2U#@2a(V#k;NVywvlmDcfHC<52kbUFZMGEts0tW-#UNmsD%z
zn{MKpGhKceUu%~8w87mbtEozA#u1TY2IoL_otd@xs14^NF`cNSrc~{17k&9PFQuH=
zG`%(?W3hbcw%duzW6N$QUrm<#-lA^%H1mALwc>f-o5c4%NnKxYH9PKmoB7_Sx$g}Q
z@1DZ>zH)wS&F4n`+9%2Le_Tno``)Twd(<cX_p$A3KFxjq*FpGwg@4~eoivui5huB(
zZJxdIO~M}e$YX5wKWCP%NnIWv;mjL~Qc&r4#9g%h<#PXpyIoJmtQEbxR`j=J^eoFr
z6WMwuQS9@~<4nuky|)<6e136$X34Pz35n*U5A{tCUM*;3;9|J(`!vUn-NEI1clljA
z7tU^`Soq{dXK?zt*c~NLZ}mo(zq76Q^5kZBc>cZGA77qEdqug0`NcT~dPcg2`o=m3
zdq*!?yn1<lLPknXl2rGNWAQRcqNi`T3fXV$yno~PtuuG*9X~V(fEIG;yf3`DE%$NG
z?TW11O|IV4)<$eiyW8d)z3uIdt?Bn0o!$H9T9iJ!)9M|*?(UA#=l7c3{pani`1<T_
zyMO$?zdydJD`=?bC~2wbDQc?fDr>8+U$A1ynnkOYty{Qq=~}QGEDX0>85@5+UskGN
z*`;$ZJ#E(Zq`SrY3meTJ8lIh#w)bM?@hpqpZ(9l!H@|zGzg%0jsG-2KEL=3Sb>+D?
zXSY?}k7zG@`^ty=ncxM+ssj($WVdT1$}?~$u=q60-1uFF{ZEJ7HCyfKaQ*GE*{OF|
zWzV)xyIFR3-K(dG_akPCndtc?iJ$&jR$1}=_p+ZB+Us`J?u{{fD<{diD&|@|Q*C2z
z`1^+;45n+Gmiq4Wl1{!^nmBdwFC```2Yv~K*9psBemiE$m}bzaqucsWOweG%77?!B
zPC}=X9oJrMJ$Yu|i|(nq=V!<AynAK&f$QA9y5Rhc9U?Kg^}dEF`ah2U2|DY`Jt3oM
zZt`16gM)QxX9G{f2!((CTUC7ZhWTwjF^heVZ%sd(QmXXAJ)>rg-0b$1a<e~em_6Ti
z->ZN#CrudL)f(Hs`q)kt@Yi$^IHbkk_W#OTE;-9<LSK90K3!r|bKsX?P@WRUAt(Ln
z@Oq7gUw>|vZqI$#TC$Zrj=}WW-0Jh|_}{L&CwDLR)nU2s7p@uC`8)Af)NGphH)s3G
z^6OtzSy%&<_dD&Ka%|6%V=XHVl?oU#e?PFb%GFUhxJFFfvLa>wqIRuyoZn;?upg=F
zTCcP6T-^SZ+h3V36|U@<cyKvG*47vC?%Tg4iY>@??>Q%4yWTV}!t#OS28LJF-G%G#
zo`@<~|M*PQ3GLc_JAS@g(OS82<IENLzSVE?f1BO;`7P^i&g{EY%lF0RzW(0(_wNU8
zZ<8SIE8mZ?i1;7=en9wZGpGIU#1Fp9?;YNG^XJ!3t9`fMv8j!@ce-!;-&ObCyw{!a
zcX|5mxsUJZtUMEQYbIxN_T}W_TJicSrOG2m5+50II;5~jd@^`#ec&Op8tdc^&qFHA
z6FU=6{M}b#R1z>H(;&Y>hLMGt%|&j9qEXhFr_9AC{~E1t+PST7?IDXtax6Yh&Qqpw
zB=x-B_j?<UoYyVgB@?SQP28y#<l-ZvCO5g^w!)Kr`>vi~|I6@rw(5z(8#inocbsr4
zPBwfxLxKB@b)TB(YOe=Qc~y?SlO#22cS?L?y&Ujr$Bb2ni%$f3%Vp&qm=%9Y_u1di
zKmUJdZg!o2;qXrbP9Fc4Z)+Z@e%+#CG2d&$iGuFL#oaB37r!pfGg)Tv=lAuHSg&O!
z(^4N6ZK`+GiSvK)tWiDN|0dteQ!kF1?mZ-NNJce5Nb-~Z-E|fj=hQeC1?lRausE3g
z>DGa{vrj7Vt#8kC`SWvkhTJk<VO>UXp)|*-x-ZN-D^+}BeC+DQ?_W!L^z$`?Vtapt
zw|83FypL5*ONuJglY<N<2K_6}zE#*Xal+9T!M(<BKJZ`caa^M7-z=kI`*rP`(*;wW
zU1*t7H|Lm2&Tp|5?^9n^7yYk$@$avTweZ=yoC2vgZgYK2y7r0h(tk&r)E|#_)%VN&
zG5ET5*$=&}Ft4cza?G&{_<0K1u5RFOR5f5*c0h*RN&HWT-L=})#~v<i3tCmZG{k((
zl%Q%)ugpp<&)A7C3cV6qU6ikOm}Esr9n^B)>B>{mXlLLu>){$nuf-xW4y$aN6@5vA
ztu3tBTWV^O{IVv^l7@9xyi_h_sZ9KHGfQJ)Ohs$@^}Q}mT6wAQ{VG8#uC3`0(g`oW
zmS(f3?k9)p^8+H&e%fElUu)_W?X0u5aG8mIiq0a<Q#~0~)<V837s%iLo4hr5R$1`&
z@YhRkop@Py_|!^^+h0y;9#i%?I5G0U>acSga{s1pzn#C^e!cY7O;ue9l1z{5&D6h!
zB<P09u2vVH!Bm^T(Q~mc=);X{`8rq5HRr5@{5>LnKTzFpXjk?6*#Z7juig#vx4Yo#
zT)bO)<#M42#r;9KOZP{I`L8%sDrm_5{h;>N<gX%5wxSO<?v-A-T%=m>0{gP(v)9GG
zJ@?IgR_6IxC)?F$O+NNPqj9R$hBB@Mxkc&jJ?HtC%$?x&wCVW)p@_TIJ=V3KCl)P#
ztRHv5kA3l6zBO}$zB=C9&A()>-JC6#*)RIdce}OHDQn@cBeyuuANqbU_-o{r%g+~<
zeUe}IRO9=%C3C~hev7>uxA$hvOf~P&)B5|(!gk1cF7EP>GcKI@!^g?)UWR1O*DWSo
zGpG0@scBB0)89Jj=-(<Ysht{GD!ny*3{9O(htwN)O?P`X>9^~p6?qSC^DGry($ysV
z_O?-4fo+iUgsEq@NUiD+F%+KOd0yqosn$FBd8-$u1@SIDQMjb7sINn3)<&tWnJos=
zs~1jM)LP{Kb@u@`qX~=+*{>wr8fAL&pE0(6O|FyDeE*~)rLOmrg0;-~Z$jDiRw?h@
z+jHtB-kH<y8IvDkbWreL^N~Le?fdx;AHM(6oH5$Ux^B`^|0n-4U;N8_^(I1arIU-~
zT-k|s|4jEZw||PXdHTFL+se9bo{hEFg8F^`zUuE<ldWAQ!?ABd@r^H%tF=wy_Ez=$
zZ+_i+@QI0a`n&7;SEucMVfQT6Z>v+fx9X0&`(C!E+_#zXxp80FkHcqAUgG_e$F_le
zv2^(SOL>-u8cuz`^7iG&(1ch)wnH8>7`|S3)wfS3GGqpa^r0>T;cE?5KBeqZ%F|g2
zqb{94c%ru946o9$7|YcRUzfZpJ7sxQmMg*Ql;qXixK3W%`MY}O|9H7!#pS25E0eb0
zFP*P``0(MWR^Q6qqO2xQa}LVV_$@Ae`s;CB6JDO^34f%Us-zB0^PKP4_+x?GyJ?>V
zJ+{0&#vto{U08Kh<mXCP2@d7Nq*aXkUvykDY&ciibn9<RDD~A%+Bm1aWSf#m_tPhf
z+uTf-tTFh{pyMKca_7PGPVCVyZpCJFi6wXSiP`CYQgHC$mKUDKYBD*2@#^hk+>PE6
zi5ZCxrm^ktF#Db{*I$|c`uq0>cK?kyQ+(b%rR>YU70bPr886n@E9UCERigdZN7<lP
zk==gL^D39woyq@JF7YCAN!;m;xBKHyvx&*pRxWnfV{Dgq$G9*u(Pd-*e!Hj*Ul>oF
zzRSAg?wapm+k2zE_x6eI?>Q65S+Ha6f^UK8dP*rj@65Y$X0mCq;p0y(5hvY$Z&`5A
zQhoD_i)(D0Yr>e%N9}vw*_XkTsMgccxglw)RLJ+6p|a=ITPMzX-fQtF>)s=mDej`W
zSGe?*-K7sr<6iLph|T5~^K`1q?pJiRG}Z=o7boxSV>|N2Gj8UawhgH_B<|Ks`?6nQ
zO~25!W7>817QFBc-FI`6`Z80Ns)%Bfq7c5B<rx#%Wo2ip9{99oa^=QDl@T}VpSKo%
zd3w@4c&0Q{qRN>9hMD)+UN<e|mp-QxBz=0O_NojH)j6tLbWCl%g<2lY)rkK&Wpk1I
zgp!POmB8fNZ#Ox`K1n@k=ysc}?^+A5VvKF1-?r$THZi+Ho8|8P`}9TRdX9hSq|5(5
zY(DfQ%jf9DQ!cd*n>s_2Yov=VtTo(rZEp7N;<uAnrk%Vo`OVg!SvRK|7KOz8ZT;FB
z&eY3W;Nf@jkh_lK;i>5hau#<at*-F#`r*1xTb*6qU0wauDN$ED^OlP@eEjm}#8_Hd
z?_9Q~B<M+Sk@Ie41I|fR=CX60PCc3CdQD8YQepby617RbyFQ)$RJANKb)H)N=D>SP
z`w|shS1P+^a!LngY~i_nf9k@rrSrr6`270({PeQ5=4<6&IWxh=O5NyjLaN1EZ(sST
zp|f^qt6z3ko#|Ge{B`-7m-_>^1c<X2d0tHUS7SIgv%vT4;YYJ={v>Sjv}OPNx5Mv*
zayRqd%%1%=i=S9M{$A<t9$U3}+60};zh2H>woLF^|K*#K7oJxCo$L2?-4vAtuA6_h
zm6bl;`EYUSn|HglE=<4c{`#rw70J>^84G$v{)VfuTzcv0cP;M@`}{5U&fLA_6Kr-T
z-1U|*`vc}(|B?@FooRi^DfjHtQ>Qi`JGnM0cGbd0^MEhkI}JF*p6}M<w$Ye&Iks$O
zMoa9`%+h}W9&NMFhUGQSUO)GaMWplpy8!~?F0PfYR90o3dUsAB?+`;|ZeH5zbtMl^
zrTnis`X$TCGpb~==lyq4>es?<S2^9T+GX*7i{AcDugu=dK2wZjjL%2ZuUyplA;3ho
z&h6FXSy7??&rgeea9|>HqKKV?*t#UPjfI*#-|bJSN$#Ik7b#d<75h|-_x$Vp#suD|
zk{A7KuQ!Vu7@7Z=<3D3#LTbL8_hYMBj^#2Ig%9nln#E*)EsiWX&><--wr0-lF9+J@
zRvv8=WUij<H)CT$dj7*_yR4TTFFV6`c%v21j138g8(-hxv9fu-n7ia)8?)toUa;un
zeVuYU`VKE}?U&Rpn{zz#LgIlIR%yPN<Ec>AlRsuJ3=$4C@v_hRd{L_8#)Q3}PVCd(
z@$X6H_g_aY{r}}tKCA5do?VyY|1IP8-Tv*gTz&oT-s`Q`yIBNH7PS~kg<bD*o2ub^
z$S3x-(76l?Uj4*reoe<NWJtvx3h7-Is4{7ChI5ijXQs&<w+kLpu8Tc&mJ6CpJ7Ol~
z=bR_I_TDa@O7RbDx>jF~cYK}6-gAc6?sJPIci6XQ8%x%iujAkK_&_K3cSDISFD}SG
zUc~HnX2ynur+1dIo4q-sZPp`kV|K}*9#-pWZu9GR4J%Xht9y>WGE6$wC9D1}dGiay
zPg=q+yJXdi_C<e@FibvruGZMLQ2zMh!wsC=W->eaE-yOX0Sc8J{imU<6F+k=CLie$
zwf4KS=T-EV8xui+v3ke<CqIAgxpn#9tAf&9R`Idx)|tpYH_Z?KzWV)N-^&MM=dSk)
zpT7F_)yJ>OzAk$CYJK@}ugh!g-?uG)e6#-heVey$SMRTRw`IRo%-&3^9n0&ji{lPh
zt`SsSbaBJ3Fq2g-FNF%dSQbAt+2aypB`M{**!#$;h1n;)eO5m-UF3Fcg;Z=(W$%iO
zs@tx9kh*_++qrjXYt?3$pPd$ZC+Pkkc6o;@`KvVN2k(0puuiv6^#b#br`Ox(S~qF?
z&3iO+Zfx50-8*ilKi~H9zWq7n@W)1%c0_SoZQHD*r~f}N^k=}ee(}_W4QHhv1#Vs~
zGUfE~PfIVU)L%6%{ns}uYVRs0pQrx2*<4-ylr7Br<GTyF*XDCi-;jHfHHP(b_>-fX
z&mIoqkXh=$6D^ZzpULR1_(=0f*E%E4nu8B|tSY=^@3vlw=ep=9;dhivcad*NNAV)>
zFCBJ<3T;O`&d2OmF;!plxk<Pw(J6680Earu(Ut`>1bDvdwe9$RPg3MuLIGRzW&x|_
zLy}X@9Wuxco5H?fpESp=Ku19l#W(sQe-B=e=lR>Z!CvE6^P>G1w^mq&yijDZZQ0Ns
z@P)yd-{6bDA-M%F7`x;Ws`MLGGa^@aybySPX17cK3t{FYk2l|{*BBaioY849=018R
zVTL4+G55nW3uZ`)7&kAR{`PF=yA^L+cHMQcns7b2P;LH!NeBN1hE~ozIXxs~>85s*
zbyqDaZ@v#@{&!iSzg*$8{e<0z%nKdUJ?Gece^~y%_Uapn@KrZfyT7gN-7v{9Bk1VL
zSC=_{f9XAPe$`8^Jk2kvRl%pvUQPb@<&s(6^NXi9*e)`?S1VJ#>Vo+yE=@)Il0WZW
zs^<GY2>7=5oi*p(Uz@D-=Y30)T)Ho32|u&F!RLAJ9y_02HY@e1bls5`m%CTZ-Xl_1
z`{>Nwx++a+*3(N&om({`jd~1SrSBUY<52QZFtBzl@VYza?#eB%TQ&=QdGCFu`pBO*
zH$Fw$ujgq`=HI4h$P^Xk5F_NAcP>drFkCA9o{8@F)ItsJt4FRLpB@=$Q@gWvrPnjr
zMXL*U{w$gwZg^C+@a&TRUjwhM<xicxL(%QXgs0JquF1}>JfHX`cGcmHKQm;1=3Tzd
z$(^zFaQu<b(0zMlO6|DT2|WIy(W>mRsaR`b*po9We?)nnN;6-S80K^0OSaGZ?uu(O
zzbVQH9=aC&`$)nUjoIfXeTvog{=I1Bryrfg)!OmLBM)lpyedv|xMPrCUweZ4r{=Gy
zrKuAgx4!-9G4H+eofVTG#UH6!#QFHLzmj}t=yBI$$4?Z6Wk2fLab-tehq|rOKc72B
z`&HI;Di-9mCMW&AZ?q$~VEWdBGc;~-#DDiY?d){5sY^dedezz2C#=_B6^Xw;&Fkk(
zw^e+FwrZ!YUa5Ih<RfxiaNpz$-w)saurK((+&N?Ow1VR<JC8k>cJS@XbvpAOFS+vl
zly?2KjN2~lJ7%S%PF_*_^P0G|-bHn`BNKL9wb<S%2Vxc+n)>29=dpWjO|~L29DD2x
zHakwATgq+vIc)y%K)%o4E?kh?7Co~uneFvIt97@|{Mw}*o>}&En&KaWn6Dd(4EUJR
zcK%$Lz{@Iq=<dztgs6WxEZcHfiqG>f8DEHf?{6$x!OWUlaw}-vOkukxGH&(P{#?($
zZLh&Hx8QpI`pLhTC1alPw0;fvP(8hlu~}-n@V>_vdDvzYX5Eu@er^*pzuoTe?0s(|
z@7Z$a&VG3H<(}75uDs8@aq0JFb94T$>(<P=_;OL&oDeVm`E@<Uq03jD2$@=UM`Bl<
z)-ILS_iatv_L-(?B;T8F<IlF8M^3WF@7;oZ&!-(!Za(kdExqs8;*$X#ZHM-V-ze6I
za8{J!`10djXsGYJW4~+TPDmeeo_X?TZRwg%&9nX%e&gm`thdKHcIuJk&2#2?{%3NW
z{auy;v|p0(|9=Ml3dUpw@iWYa*xJ~Z+4AuC1o80ve>=nP&;LV9zWhI4Z_LKYkz&O-
z*?EJ+Gv-8PXXVMZ0Y_f{4`-2AVG`NQ-pO=y;@SGP4ULf!S?+QIZU!y}QUB*3e(|TC
ztLOZeo{Mu|$}YBL@L#3hT*0^|?0VJhQ-X0DR)&j-&q?OrvuqIuchozrb-SA+%CEj>
z4q}}6skZ28x<g!=!}r}bQE3c8dsQq8XWxDK-+uFk01bzY(mxar%$83o`pg@)?Z3nW
zX6fgLUnr~WW)z$C@qD78j+N}rbZfpYf!2xHwuzj=nf$t~0<~W@ELfr}%iqnlYkv3E
zT^HC^vn}#i-a6}I=H`qI31xPSeco0xc62Z8_228X&>{1}&HqOebMrUly^L?@3;Mn)
zY-*0sQMV29-=xH<t0ICTN;c*(t!w8^{>5ij!uWq{<I<h>-=3}Id|Y0$=0{`m(X<_3
zmp9CLtHN;ShQd|uPsdd4bXygd>@+Vm@n7|iw_xJi?kAp+%nD|cBnnEDJ3N?kq@P|^
zwzKVeqru}m`^KTd%Z?jG7gQWR$9MOwc}26o`Mo3d%Us)S>!uuylPG&Epli<ao5Sga
zkladV{?lA5nuCnhe4Nvi4=AoIjL4eB(CQ)=X0)r5^TjgfYN;D13f}Ii{U_e8w7>Z&
zYkLoykjIL!T@iUg&a)l2Bp#1WRB%>jso5wy;jCI5+u90?B?U)z*an_BZsQZaQgy)u
zt7C`mxo@$$!ojCoVX>%T_gs|-)s5_P7~@?Oce`XqZeP60+(@%$z4)BwqmseL#WQWr
zC+(c{g~gW1exhN??-cIY>`e)eyO|GVY%z*E?d>y1xNp0rSHP7>$H`jEUn-MgL~2(h
zd8@}PP@NZ)x$r@<dEDoMsEOJPelxGnY2Y(aob&9q*xhBDE6-|Jr7mG8ys+?;MY58I
z(gDduXAehyO;h*qzPt5<ncth!{&HbgXP<p=wrt%N*-PQZwZ2P}uDxM<`DTry_BD&g
zpC&K9dg-Oee`DYO3$9LZ@Gxtd@=|$^m1o0gKYfcyhuG4sw+D0lJ!_(<m>K*(_mZ6a
zHA`im))iilPA{mqwpmAec35m@h{&J04CzbR<kgoR<Mh;C&X~QVb4C06@bytiZXvDL
zX3bnNvm-Y%_r}rsUEg#ct#wRzy{<hxBx~ayuOplHEW4z1`n8ts#x0>yX+OKYv~}u3
zUkaR-){;%D3|^|N6RXPJe89_Pig(7sui|xPa;ub&9c%pfe&<E&q&e0G|CG&}ge;!U
zW1q3H?(9aR3yXiq9Adw6UH8!OAR)VH+d1V=t36D%bpH|YukXXgIqEe!_5MF1^aSjt
z>9YE7I=grAiZ@p|dX}tycyrPbG5z<84q5BnTi9M1&bZ~_oQ<a{JU@y5bK;+U@xJsK
ztGR1_?5V0KSJaIzwU6L2p7Oo8O7BbMf(MD$emblEvitXPR>saNr*BqW{Gs&Y`Yq#~
zQ|vap>iH`8k@0QuFZaYps{Hb+uT52#(~Eu9HSOhu-$uP2CbKRynQ@&w|15OUmelBD
z0&fK6Gd%A`Z(38;D-joXMJ!Hnd(h;6DS0n<T(C&H^LL3V<2;oq#b0+wZ~0UcF|q0a
zuf)gWPmiX3*vXQ*!G8L)Q`eo>sy<lJ=#nN_WP7N~@@Jm1Le;1L^SsnvdFjmF;r(n<
zXRej|pOe;-!rlt+EqD4EPYX$$TQKRwDwl#V!IPmXkxG*ymbGfnKjkI4vs2AHa7q2|
z`Bx4{ZQ<}|i($w-U0kd8M0nB5myMk6#=m#v6bH_Gw7F52d9rbDl6uBL;g>g-NNQ-l
zJgBkZ(vsV&7uz3s;%t+B`}gHZdp@1-FG*s1-1S3!?&JyV%5@7>w#+zMx+kfLw_2O$
zf#(e`@wHNWZ%;qICi>ek!_{`i-xhH!E;zb(#e-RgLd_T6t2oYaW#>AR3u1afE%P0p
z{hf1qW`AMKD;X>O6-%C9p5*=a&ucANT~pK6Kl<8t|JCOjCO>+AL)dfvD&^mgTK?MI
z))Liz*D%%oLhjYll=<R2OXf6%yExj`f3rQPzvtE=_b;d7=P#~zez_(}RQ~eMwTDuL
z-p_EI|Dx?{%da2h=SwGEbr4|*__F<hcfzTjG}axvvkSQ2O?&XJyEAt}RjBXzyt$wE
zwP<|YsVu1f;?ITx6D_Oj$`ZmA2{u|)d_EjD2A-F-XDnj8Y?9E%cE(NhdCc+*zb7k$
z0#6pNs+_nyYQg6VN^`S1{kHlnk9v3}@8GHf%-M4|ud&MASnyIf=Td_S?~O%_x2x9c
zUF<s%{I+Obmj9EL-(K33I4rkX5-fXhW#7~MJ5y{L)vcc1Zdrb;?4e|R$y}=xtLg7=
z?bvB>DJJXj(X&%^^8Cuq8r<yC*&=$~?UVFPb-uh_mU6eI>dfd#f8}QA)SFDQmpnN?
zHC1Mh1ZP|?Oa7&8YQOgyNB&Dx`EN3*{^Ti(A7(;-Bsl99C-we2a(4Q4F=zW1)BewU
zl5B7_aQ=Fq=gqq|zWG1B^ss!vZ5Fl)#?a2@A_hYd*ZfVMVOw)=A6v97cl+Xhj=43b
zuSuldS-<M<y$AD(FVyuf-#3xl>72Xmrv;9O|NLSNIew|}V%U^rt55uT(4cB|beD;H
z$VM4cztCR&y>8E6Ovp$q-7;hOC;qq3Z&WSenSRj7;g{#-Ak~l=`HEk35B&Q6{vjjR
zg@TDreAVtYuM3{c6_?U8y7x2g@N$R48DCs~?XJ3F<~XC&!v2Hoz4KfV3yrt9n{1Gp
obzFGItLdfwao=pp${a5i92IAgl8R$=U^WFGi~wo@FfcFx018_!(EtDd

diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff2 b/docs/fonts/Montserrat/Montserrat-Bold.woff2
deleted file mode 100644
index d9940cd116dd684dce8fdc2ea0aaf878bbdd1880..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85436
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%0Dr{c2)@ib_
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
OaHV{{&G&2itPB9z!8|ws

diff --git a/docs/fonts/Montserrat/Montserrat-Regular.eot b/docs/fonts/Montserrat/Montserrat-Regular.eot
deleted file mode 100644
index 735d12b51e3e109058fe239ec79c77cbd59f1384..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 106287
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
Mk;lE>X!)4~06O1>4FCWD

diff --git a/docs/fonts/Montserrat/Montserrat-Regular.ttf b/docs/fonts/Montserrat/Montserrat-Regular.ttf
deleted file mode 100644
index 5da852a349abb6a4f043b9bbbed1f66f6c249dc9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 46392
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
a8pCvk84NQSW--iWn8PraVIISLhE)IyJ8MP&

diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff b/docs/fonts/Montserrat/Montserrat-Regular.woff
deleted file mode 100644
index bf9183271b796e265c5d4be9e74a37955f03e11f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 112020
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
Y1xLkMq@>~)9hgnQ2MK^`e+C8y0JuJKVgLXD

diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff2 b/docs/fonts/Montserrat/Montserrat-Regular.woff2
deleted file mode 100644
index 72d13c60bdf28d94eb46595d99c0dd5f499a6e08..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85240
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%0Ajyc+*Dp-K{;Z7F@~h
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
SF3oNE>=(W(S$D^?G5`QlZmV_x

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot
deleted file mode 100644
index 0f24510b88d0f266b8946b69cf7d3e0048b9ab76..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 19390
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
Us9Dsic$Mps1{d=smdvIE05X?39RL6T

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg
deleted file mode 100644
index 5384f985d..000000000
--- a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg
+++ /dev/null
@@ -1,978 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
-<metadata></metadata>
-<defs>
-<font id="source_sans_prolight" horiz-adv-x="479" >
-<font-face units-per-em="1000" ascent="750" descent="-250" />
-<missing-glyph horiz-adv-x="200" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="333" />
-<glyph unicode=" "  horiz-adv-x="200" />
-<glyph unicode="&#x09;" horiz-adv-x="200" />
-<glyph unicode="&#xa0;" horiz-adv-x="200" />
-<glyph unicode="!" horiz-adv-x="259" d="M113 179l-6 420v71h46l-1 -71l-6 -420h-33zM130 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="360" d="M92 477l-8 147l-1 69h51v-69l-9 -147h-33zM233 477l-8 147l-1 69h51v-69l-9 -147h-33z" />
-<glyph unicode="#" d="M93 0l26 214h-83v36h87l21 170h-88v36h92l25 194h35l-25 -194h149l26 194h34l-25 -194h82v-36h-85l-21 -170h86v-36h-91l-25 -214h-35l25 214h-149l-26 -214h-35zM158 250h150l21 170h-150z" />
-<glyph unicode="$" d="M226 -110v99q-93 7 -167 77l24 31q78 -70 161 -70q62 0 96 33.5t34 89.5q0 54 -30 91t-72 58t-84.5 42.5t-72.5 59.5t-30 94q0 62 40 105t101 50v99h39v-99q45 -3 76 -20.5t61 -49.5l-26 -28q-33 32 -60 46t-70 14q-51 0 -83.5 -32.5t-32.5 -82.5q0 -48 30 -80t72 -52 t84.5 -42t72.5 -64.5t30 -105.5q0 -70 -43 -114t-111 -50v-99h-39z" />
-<glyph unicode="%" horiz-adv-x="805" d="M181 257q-66 0 -103.5 54.5t-37.5 153.5q0 98 37.5 152t103.5 54t103.5 -54t37.5 -152q0 -99 -37.5 -153.5t-103.5 -54.5zM181 290q47 0 74.5 46.5t27.5 128.5t-27.5 127.5t-74.5 45.5t-74.5 -45.5t-27.5 -127.5t27.5 -128.5t74.5 -46.5zM198 -12l368 683h38l-367 -683 h-39zM624 -12q-66 0 -103.5 54.5t-37.5 153.5q0 98 37.5 152t103.5 54t103.5 -54t37.5 -152q0 -99 -37.5 -153.5t-103.5 -54.5zM624 21q47 0 74.5 46.5t27.5 128.5t-27.5 127.5t-74.5 45.5t-74.5 -45.5t-27.5 -127.5t27.5 -128.5t74.5 -46.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="575" d="M226 -12q-81 0 -135.5 49.5t-54.5 129.5q0 59 35 102.5t100 91.5q-44 91 -44 163q0 64 38 105.5t98 41.5q52 0 81 -33.5t29 -86.5q0 -30 -11.5 -57t-38.5 -54t-45 -42t-57 -44q68 -125 183 -226q68 85 104 217h43q-43 -148 -117 -242q66 -53 128 -76l-15 -39 q-65 23 -141 83q-81 -83 -180 -83zM168 526q0 -63 37 -140q63 45 95.5 81t32.5 82q0 36 -17.5 61t-54.5 25q-42 0 -67.5 -31.5t-25.5 -77.5zM230 26q77 0 146 71q-119 109 -187 232q-52 -41 -80 -77.5t-28 -81.5q0 -64 43.5 -104t105.5 -40z" />
-<glyph unicode="'" horiz-adv-x="219" d="M92 477l-8 147l-1 69h51v-69l-9 -147h-33z" />
-<glyph unicode="(" horiz-adv-x="279" d="M220 -175q-132 214 -132 453t132 453l27 -16q-120 -191 -120 -437t120 -437z" />
-<glyph unicode=")" horiz-adv-x="279" d="M59 -175l-27 16q120 191 120 437t-120 437l27 16q132 -214 132 -453t-132 -453z" />
-<glyph unicode="*" horiz-adv-x="395" d="M132 462l-27 20l55 88l-90 36l10 30l94 -26l7 102h32l7 -100l95 24l10 -30l-90 -36l54 -88l-27 -20l-64 83z" />
-<glyph unicode="+" d="M219 110v201h-185v38h185v201h41v-201h185v-38h-185v-201h-41z" />
-<glyph unicode="," horiz-adv-x="219" d="M62 -155l-14 30q77 40 77 121q-4 -1 -12 -1q-18 0 -30 11t-12 31q0 19 12.5 30.5t30.5 11.5q23 0 37 -19t14 -52q0 -53 -28 -95.5t-75 -67.5z" />
-<glyph unicode="-" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" />
-<glyph unicode="." horiz-adv-x="219" d="M110 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" />
-<glyph unicode="/" horiz-adv-x="357" d="M9 -160l305 870h38l-305 -870h-38z" />
-<glyph unicode="0" d="M239 -12q-91 0 -141 87t-50 247q0 159 49.5 244t141.5 85t141.5 -85t49.5 -244q0 -160 -50 -247t-141 -87zM239 26q68 0 107 76t39 220q0 143 -39 217t-107 74t-107 -74t-39 -217t39 -219.5t107 -76.5z" />
-<glyph unicode="1" d="M84 0v39h150v530h-114v30q75 13 123 40h36v-600h139v-39h-334z" />
-<glyph unicode="2" d="M41 0v28q174 177 244.5 271t70.5 172q0 63 -35 102.5t-104 39.5q-81 0 -149 -84l-29 28q85 94 182 94q85 0 132.5 -48.5t47.5 -130.5q0 -31 -8 -61.5t-30 -68t-40.5 -64.5t-61.5 -76t-68.5 -76.5t-84.5 -90.5q88 5 107 5h218v-40h-392z" />
-<glyph unicode="3" d="M232 -12q-117 0 -203 90l26 31q74 -82 177 -82q65 0 107 39t42 102q0 148 -223 148v39q105 0 152.5 38t47.5 101q0 54 -35 86.5t-94 32.5q-81 0 -147 -70l-26 30q80 78 173 78q77 0 126 -41t49 -113q0 -116 -122 -158v-4q63 -13 104 -57t41 -109q0 -82 -55.5 -131.5 t-139.5 -49.5z" />
-<glyph unicode="4" d="M310 0v191h-294v26l297 422h40v-410h95v-38h-95v-191h-43zM70 229h240v234q0 52 4 110h-4q-9 -15 -26.5 -41t-25.5 -39z" />
-<glyph unicode="5" d="M227 -12q-115 0 -201 86l25 31q76 -78 175 -78q66 0 112.5 48.5t46.5 123.5q0 77 -42 121t-114 44q-56 0 -119 -43l-31 19l23 299h295v-39h-255l-20 -231q56 34 114 34q86 0 140.5 -51t54.5 -151q0 -97 -61 -155t-143 -58z" />
-<glyph unicode="6" d="M261 -12q-97 0 -153 79t-56 223q0 188 66.5 274.5t168.5 86.5q80 0 135 -62l-27 -30q-42 53 -108 53q-84 0 -137 -75.5t-53 -239.5q73 89 161 89q85 0 131.5 -51t46.5 -147q0 -86 -51.5 -143t-123.5 -57zM262 26q55 0 92 46.5t37 115.5q0 73 -34 116.5t-104 43.5 q-84 0 -155 -96q6 -105 47.5 -165.5t116.5 -60.5z" />
-<glyph unicode="7" d="M188 0q7 192 51.5 328t141.5 272h-337v39h393v-26q-110 -146 -151.5 -280.5t-49.5 -332.5h-48z" />
-<glyph unicode="8" d="M243 -12q-88 0 -145.5 50t-57.5 126q0 59 37.5 105.5t90.5 74.5v4q-92 61 -92 147q0 68 48 112t119 44q80 0 126.5 -46.5t46.5 -120.5q0 -47 -28 -90.5t-63 -71.5v-4q52 -32 82 -68.5t30 -94.5q0 -71 -54 -119t-140 -48zM290 335q84 68 84 148q0 55 -35.5 93t-95.5 38 q-53 0 -88 -33.5t-35 -85.5q0 -32 13.5 -57.5t41.5 -45t51.5 -30.5t63.5 -27zM243 25q66 0 107.5 37.5t41.5 93.5q0 34 -14.5 60t-43.5 45.5t-56.5 32t-69.5 29.5q-3 1 -4 1.5t-3 1t-4 1.5q-113 -66 -113 -161q0 -60 45.5 -100.5t113.5 -40.5z" />
-<glyph unicode="9" d="M226 291q37 0 79 24.5t76 72.5q-6 105 -47.5 165t-117.5 60q-55 0 -92 -46.5t-37 -114.5q0 -74 34.5 -117.5t104.5 -43.5zM191 -12q-81 0 -135 62l27 30q42 -53 109 -53q84 0 137 75.5t53 239.5q-73 -88 -162 -88q-84 0 -130.5 51t-46.5 147q0 86 51.5 142.5t123.5 56.5 q97 0 152.5 -78.5t55.5 -222.5q0 -188 -66 -275t-169 -87z" />
-<glyph unicode=":" horiz-adv-x="219" d="M110 370q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM110 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" />
-<glyph unicode=";" horiz-adv-x="219" d="M110 370q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM62 -155l-14 30q77 40 77 121q-4 -1 -12 -1q-18 0 -30 11t-12 31q0 19 12.5 30.5t30.5 11.5q23 0 37 -19t14 -52q0 -53 -28 -95.5t-75 -67.5z" />
-<glyph unicode="&#x3c;" d="M445 146l-411 164v44l411 164v-43l-232 -90l-133 -51v-4l133 -51l232 -90v-43z" />
-<glyph unicode="=" d="M34 413v38h411v-38h-411zM34 209v38h411v-38h-411z" />
-<glyph unicode="&#x3e;" d="M34 146v43l232 90l133 51v4l-133 51l-232 90v43l411 -164v-44z" />
-<glyph unicode="?" horiz-adv-x="402" d="M163 179q-6 46 6.5 87t34.5 72t45 59.5t40 62t17 66.5q0 50 -29 83.5t-84 33.5q-77 0 -129 -64l-27 25q69 78 160 78q71 0 113 -43t42 -110q0 -37 -17 -73t-41 -65.5t-47 -60.5t-36 -70t-8 -81h-40zM186 -12q-17 0 -29.5 12.5t-12.5 32.5q0 21 12.5 33.5t29.5 12.5 t30 -12.5t13 -33.5q0 -20 -13 -32.5t-30 -12.5z" />
-<glyph unicode="@" horiz-adv-x="814" d="M388 -146q-148 0 -242 93.5t-94 254.5q0 190 116.5 310.5t280.5 120.5q144 0 229 -87t85 -230q0 -119 -57.5 -189.5t-126.5 -70.5q-41 0 -67 19t-30 57h-2q-63 -70 -122 -70q-49 0 -81.5 35.5t-32.5 100.5q0 81 52 153t134 72q53 0 83 -48h2l9 40h34l-36 -189 q-34 -135 60 -135q53 0 98 61.5t45 160.5q0 130 -75 207.5t-204 77.5q-143 0 -249.5 -110.5t-106.5 -282.5q0 -145 82.5 -230t218.5 -85q89 0 168 48l16 -30q-85 -54 -187 -54zM364 98q50 0 108 67l31 173q-32 49 -74 49q-64 0 -104.5 -58.5t-40.5 -127.5q0 -103 80 -103z " />
-<glyph unicode="A" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46z" />
-<glyph unicode="B" horiz-adv-x="578" d="M97 0v659h178q103 0 160.5 -40t57.5 -120q0 -53 -26.5 -91t-75.5 -53v-4q66 -11 104 -52t38 -107q0 -93 -65.5 -142.5t-179.5 -49.5h-191zM143 369h114q190 0 190 125q0 68 -45.5 97.5t-139.5 29.5h-119v-252zM143 38h133q101 0 156.5 38t55.5 115q0 140 -212 140h-133 v-293z" />
-<glyph unicode="C" horiz-adv-x="564" d="M331 -12q-123 0 -199.5 93.5t-76.5 249.5t77.5 248t203.5 92q105 0 172 -79l-27 -31q-60 68 -144 68q-109 0 -171.5 -80t-62.5 -218t62 -219.5t168 -81.5q94 0 167 81l27 -29q-83 -94 -196 -94z" />
-<glyph unicode="D" horiz-adv-x="604" d="M97 0v659h153q148 0 223.5 -86.5t75.5 -240.5q0 -155 -75.5 -243.5t-222.5 -88.5h-154zM143 39h102q129 0 192.5 79t63.5 214q0 134 -63.5 211t-192.5 77h-102v-581z" />
-<glyph unicode="E" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371z" />
-<glyph unicode="F" horiz-adv-x="477" d="M97 0v659h359v-40h-313v-262h265v-40h-265v-317h-46z" />
-<glyph unicode="G" horiz-adv-x="605" d="M338 -12q-128 0 -205.5 93t-77.5 250q0 156 80 248t211 92q105 0 180 -79l-27 -31q-62 68 -152 68q-113 0 -178.5 -80t-65.5 -218t63 -219.5t175 -81.5q98 0 148 50v205h-158v39h202v-261q-70 -75 -195 -75z" />
-<glyph unicode="H" horiz-adv-x="639" d="M97 0v659h46v-289h353v289h46v-659h-46v330h-353v-330h-46z" />
-<glyph unicode="I" horiz-adv-x="240" d="M97 0v659h46v-659h-46z" />
-<glyph unicode="J" horiz-adv-x="462" d="M203 -12q-110 0 -162 97l35 23q45 -78 127 -78q60 0 89 37t29 117v475h46v-480q0 -86 -39.5 -138.5t-124.5 -52.5z" />
-<glyph unicode="K" horiz-adv-x="558" d="M97 0v659h46v-366h2l319 366h55l-210 -244l239 -415h-53l-218 380l-134 -153v-227h-46z" />
-<glyph unicode="L" horiz-adv-x="467" d="M97 0v659h46v-619h304v-40h-350z" />
-<glyph unicode="M" horiz-adv-x="706" d="M97 0v659h65l138 -387q5 -15 23.5 -66.5t28.5 -79.5h4q7 20 24 69.5t26 76.5l137 387h66v-659h-45v433q0 68 6 178h-4l-51 -147l-142 -392h-40l-143 392l-52 147h-4q6 -165 6 -178v-433h-43z" />
-<glyph unicode="N" horiz-adv-x="636" d="M97 0v659h48l278 -465l74 -131h4l-6 192v404h44v-659h-48l-278 465l-74 131h-4q1 -21 2.5 -58.5t2.5 -69t1 -59.5v-409h-44z" />
-<glyph unicode="O" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5z" />
-<glyph unicode="P" horiz-adv-x="549" d="M97 0v659h166q117 0 178 -43t61 -141q0 -95 -61.5 -143.5t-173.5 -48.5h-124v-283h-46zM143 322h113q102 0 150.5 36.5t48.5 116.5q0 81 -48.5 113t-154.5 32h-109v-298z" />
-<glyph unicode="Q" horiz-adv-x="652" d="M326 27q101 0 162 83.5t61 221.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -138 61 -221.5t162 -83.5zM519 -156q-80 0 -136.5 40t-82.5 105q-109 11 -177 104t-68 239q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -147 -68 -239.5 t-179 -103.5q46 -102 172 -102q33 0 67 8l10 -39q-41 -12 -81 -12z" />
-<glyph unicode="R" horiz-adv-x="544" d="M97 0v659h189q216 0 216 -174q0 -77 -44.5 -123t-124.5 -56l182 -306h-53l-179 303h-140v-303h-46zM143 341h131q181 0 181 144q0 72 -45.5 103.5t-135.5 31.5h-131v-279z" />
-<glyph unicode="S" horiz-adv-x="521" d="M269 -12q-134 0 -223 99l30 32q79 -89 193 -89q75 0 119.5 36.5t44.5 95.5q0 30 -8.5 52t-27.5 38t-35.5 25t-46.5 23l-100 45q-27 12 -46 23.5t-41.5 30.5t-34.5 47t-12 63q0 71 54.5 116.5t137.5 45.5q110 0 183 -79l-26 -30q-65 67 -157 67q-66 0 -106 -32t-40 -86 q0 -27 9.5 -48t30.5 -36.5t34.5 -23t39.5 -19.5l100 -44q67 -30 103 -68t36 -107q0 -77 -58 -127t-153 -50z" />
-<glyph unicode="T" horiz-adv-x="524" d="M239 0v619h-210v40h466v-40h-210v-619h-46z" />
-<glyph unicode="U" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13z" />
-<glyph unicode="V" horiz-adv-x="491" d="M222 0l-218 659h49l122 -385q57 -183 70 -221h4q12 36 23 71.5t24 78.5t22 71l122 385h47l-216 -659h-49z" />
-<glyph unicode="W" horiz-adv-x="770" d="M178 0l-150 659h48l83 -388q30 -144 45 -215h4q25 112 51 215l103 388h47l103 -388q9 -36 26.5 -107.5t26.5 -107.5h4q8 36 21.5 107.5t21.5 107.5l83 388h45l-147 -659h-51l-120 452q-3 15 -16 67t-19 82h-4q-6 -28 -19 -77.5t-18 -71.5l-118 -452h-50z" />
-<glyph unicode="X" horiz-adv-x="482" d="M17 0l198 341l-184 318h50l108 -194l54 -90h4q37 69 49 90l108 194h47l-184 -320l198 -339h-50l-115 202q-20 37 -61 105h-4q-33 -62 -56 -105l-115 -202h-47z" />
-<glyph unicode="Y" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46z" />
-<glyph unicode="Z" horiz-adv-x="538" d="M50 0v27l379 592h-346v40h404v-27l-380 -592h383v-40h-440z" />
-<glyph unicode="[" horiz-adv-x="279" d="M98 -152v860h160v-29h-125v-802h125v-29h-160z" />
-<glyph unicode="\" horiz-adv-x="357" d="M311 -160l-306 870h38l306 -870h-38z" />
-<glyph unicode="]" horiz-adv-x="279" d="M21 -152v29h125v802h-125v29h160v-860h-160z" />
-<glyph unicode="^" d="M66 290l150 380h46l151 -380h-43l-77 203l-52 133h-4l-51 -133l-77 -203h-43z" />
-<glyph unicode="_" horiz-adv-x="500" d="M12 -117v38h476v-38h-476z" />
-<glyph unicode="`" horiz-adv-x="535" d="M296 574l-144 151l34 29l134 -157z" />
-<glyph unicode="a" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5z" />
-<glyph unicode="b" horiz-adv-x="542" d="M280 -12q-70 0 -144 61h-2l-5 -49h-37v719h44v-208l-2 -94q90 75 166 75q94 0 143 -65.5t49 -179.5q0 -118 -62 -188.5t-150 -70.5zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-69 0 -157 -79v-285q73 -62 142 -62z" />
-<glyph unicode="c" horiz-adv-x="449" d="M270 -12q-96 0 -157 67.5t-61 183.5t63.5 184.5t155.5 68.5q76 0 141 -59l-26 -31q-55 51 -114 51q-74 0 -124 -60t-50 -154q0 -95 48 -153.5t126 -58.5q68 0 128 55l23 -31q-72 -63 -153 -63z" />
-<glyph unicode="d" horiz-adv-x="544" d="M251 -12q-92 0 -145.5 65.5t-53.5 185.5q0 113 62.5 183t150.5 70q41 0 73 -14t72 -45l-2 88v198h44v-719h-38l-4 62h-3q-74 -74 -156 -74zM257 27q72 0 151 79v285q-70 62 -140 62q-72 0 -120.5 -61.5t-48.5 -152.5q0 -97 41.5 -154.5t116.5 -57.5z" />
-<glyph unicode="e" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134z" />
-<glyph unicode="f" horiz-adv-x="263" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44z" />
-<glyph unicode="g" horiz-adv-x="487" d="M249 -231q-91 0 -144 36t-53 97q0 64 71 116v4q-42 25 -42 77q0 51 52 88v4q-60 52 -60 132q0 73 49 121t120 48q33 0 63 -12h163v-37h-112q53 -46 53 -121q0 -73 -48 -121t-119 -48q-46 0 -80 20q-39 -32 -39 -69q0 -63 92 -63h103q81 0 119.5 -26.5t38.5 -83.5 q0 -65 -63.5 -113.5t-163.5 -48.5zM242 188q51 0 87.5 38t36.5 97t-36 96t-88 37q-53 0 -89 -36.5t-36 -96.5q0 -59 36.5 -97t88.5 -38zM254 -195q78 0 127.5 37t49.5 84q0 73 -111 73h-103q-27 0 -60 8q-63 -43 -63 -101q0 -46 42.5 -73.5t117.5 -27.5z" />
-<glyph unicode="h" horiz-adv-x="528" d="M92 0v719h44v-314q87 87 166 87q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44z" />
-<glyph unicode="i" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM115 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" />
-<glyph unicode="j" horiz-adv-x="229" d="M29 -229q-32 0 -62 12l11 36q30 -10 50 -10q38 0 51 26.5t13 78.5v566h45v-569q0 -140 -108 -140zM115 596q-16 0 -28 11t-12 28q0 18 12 29t28 11q17 0 29 -11t12 -29q0 -17 -12 -28t-29 -11z" />
-<glyph unicode="k" horiz-adv-x="464" d="M92 0v719h44v-530h2l237 291h51l-156 -190l182 -290h-49l-159 257l-108 -126v-131h-44z" />
-<glyph unicode="l" horiz-adv-x="237" d="M151 -12q-59 0 -59 76v655h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" />
-<glyph unicode="m" horiz-adv-x="812" d="M92 0v480h38l4 -74h3q75 86 151 86q105 0 133 -98q90 98 163 98q144 0 144 -184v-308h-45v302q0 150 -107 150q-65 0 -144 -90v-362h-44v302q0 77 -26.5 113.5t-81.5 36.5q-64 0 -144 -90v-362h-44z" />
-<glyph unicode="n" horiz-adv-x="532" d="M92 0v480h38l4 -74h3q86 86 165 86q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44z" />
-<glyph unicode="o" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59z" />
-<glyph unicode="p" horiz-adv-x="544" d="M92 -217v697h38l4 -60h3q91 72 163 72q94 0 143 -65.5t49 -179.5q0 -118 -62 -188.5t-150 -70.5q-64 0 -144 59v-264h-44zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-67 0 -157 -79v-285q76 -62 142 -62z" />
-<glyph unicode="q" horiz-adv-x="544" d="M408 -217v185l2 95q-79 -75 -159 -75q-92 0 -145.5 65.5t-53.5 185.5q0 113 62.5 183t150.5 70q71 0 143 -56h2l5 44h37v-697h-44zM257 27q72 0 151 79v285q-70 62 -140 62q-72 0 -120.5 -61.5t-48.5 -152.5q0 -97 41.5 -154.5t116.5 -57.5z" />
-<glyph unicode="r" horiz-adv-x="317" d="M92 0v480h38l4 -89h3q55 101 136 101q28 0 48 -10l-10 -40q-21 8 -44 8q-80 0 -131 -123v-327h-44z" />
-<glyph unicode="s" horiz-adv-x="405" d="M208 -12q-97 0 -176 66l26 33q74 -61 153 -61q54 0 84 27.5t30 67.5q0 28 -19.5 50t-41 32.5t-56.5 23.5q-29 10 -45 16.5t-40 19t-36 25.5t-22 32.5t-10 43.5q0 55 41.5 91.5t113.5 36.5q77 0 137 -50l-24 -31q-57 43 -115 43q-52 0 -80 -25.5t-28 -61.5q0 -20 8.5 -35 t27.5 -27t34 -18.5t43 -16.5q83 -31 109 -51q47 -37 48 -96q0 -57 -43.5 -96t-118.5 -39z" />
-<glyph unicode="t" horiz-adv-x="312" d="M223 -12q-66 0 -93 37.5t-27 107.5v309h-75v34l76 4l6 139h38v-139h139v-38h-139v-313q0 -50 17.5 -76t63.5 -26q28 0 60 15l12 -36q-50 -18 -78 -18z" />
-<glyph unicode="u" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92z" />
-<glyph unicode="v" horiz-adv-x="434" d="M192 0l-180 480h48l108 -301q9 -26 26 -74t22 -64h4q23 63 49 138l108 301h45l-178 -480h-52z" />
-<glyph unicode="w" horiz-adv-x="685" d="M166 0l-142 480h48l86 -311q22 -80 33 -128h4q5 19 10.5 40t13 47t11.5 41l87 311h53l87 -311q7 -25 19.5 -69.5t16.5 -58.5h4q5 19 16.5 61.5t17.5 66.5l85 311h45l-138 -480h-58l-84 298q-7 24 -18.5 69t-18.5 68h-4q-19 -80 -38 -139l-83 -296h-53z" />
-<glyph unicode="x" horiz-adv-x="407" d="M14 0l163 251l-150 229h49l78 -122q30 -48 51 -79h4q8 13 24 39.5t25 39.5l75 122h46l-149 -233l163 -247h-49l-85 131q-31 51 -57 88h-4q-11 -16 -30.5 -48t-24.5 -40l-82 -131h-47z" />
-<glyph unicode="y" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159z" />
-<glyph unicode="z" horiz-adv-x="404" d="M27 0v24l284 418h-253v38h310v-23l-283 -418h293v-39h-351z" />
-<glyph unicode="{" horiz-adv-x="279" d="M224 -152q-58 0 -84.5 27.5t-26.5 100.5q0 38 4 104.5t4 100.5q0 81 -86 81v32q86 0 86 79q0 35 -4 102.5t-4 104.5q0 73 26.5 100.5t84.5 27.5h34v-29h-31q-44 0 -60.5 -24t-16.5 -79q0 -32 3 -93.5t3 -98.5q0 -46 -11 -70.5t-40 -33.5v-4q29 -9 40 -34t11 -70 q0 -37 -3 -98.5t-3 -93.5q0 -55 16.5 -79t60.5 -24h31v-29h-34z" />
-<glyph unicode="|" horiz-adv-x="226" d="M95 -250v1000h36v-1000h-36z" />
-<glyph unicode="}" horiz-adv-x="279" d="M21 -152v29h31q44 0 60.5 24t16.5 79q0 32 -3 93.5t-3 98.5q0 88 51 104v4q-28 9 -39.5 33.5t-11.5 70.5q0 37 3 98.5t3 93.5q0 55 -16.5 79t-60.5 24h-31v29h34q58 0 84.5 -27.5t26.5 -100.5q0 -37 -4 -104.5t-4 -102.5q0 -79 86 -79v-32q-86 0 -86 -81q0 -34 4 -100.5 t4 -104.5q0 -73 -26.5 -100.5t-84.5 -27.5h-34z" />
-<glyph unicode="~" d="M329 266q-33 0 -66 22.5t-62 45t-53 22.5q-47 0 -79 -63l-29 18q43 83 110 83q33 0 66 -22.5t62 -45t53 -22.5q47 0 79 63l28 -20q-20 -39 -49.5 -60t-59.5 -21z" />
-<glyph unicode="&#xa1;" horiz-adv-x="259" d="M107 -190v71l6 420h33l6 -420l1 -71h-46zM130 401q-18 0 -30.5 12.5t-12.5 34.5q0 19 13 31.5t30 12.5t29.5 -12t12.5 -32q0 -22 -12.5 -34.5t-29.5 -12.5z" />
-<glyph unicode="&#xa2;" d="M107 311q0 -78 40 -129t108 -61v381q-66 -11 -107 -62.5t-41 -128.5zM255 -28v109q-87 8 -140 69t-53 161t54.5 160.5t138.5 69.5v111h34v-109q75 -2 135 -60l-24 -28q-54 49 -111 49v-385q66 3 123 54l23 -29q-66 -61 -146 -64v-108h-34z" />
-<glyph unicode="&#xa3;" d="M57 0v27q53 30 79.5 81.5t26.5 112.5q0 31 -9 72h-100v33l66 3h24q-2 9 -8.5 29.5t-9.5 31.5t-7 28.5t-5.5 32.5t-1.5 30q0 79 45.5 124.5t124.5 45.5q88 0 144 -71l-29 -27q-50 59 -115 59q-59 0 -92 -37t-33 -94q0 -19 3.5 -40t7 -35t11 -40t10.5 -37h165v-36h-157 q8 -37 8 -72q0 -108 -72 -177v-4h295v-40h-371z" />
-<glyph unicode="&#xa4;" d="M57 114l-26 28l65 67q-38 51 -38 119q0 71 38 122l-65 68l26 28l66 -69q49 44 116 44t116 -44l67 69l26 -28l-66 -68q38 -51 38 -122q0 -68 -37 -119l65 -67l-26 -28l-67 68q-48 -45 -116 -45q-66 0 -116 45zM239 174q57 0 97 43.5t40 110.5q0 68 -40 112t-97 44t-97 -44 t-40 -112q0 -67 40 -110.5t97 -43.5z" />
-<glyph unicode="&#xa5;" d="M216 0v165h-166v34h166v71h-166v33h152l-172 336h48l94 -193q42 -88 66 -137h4q12 23 33.5 68.5t33.5 68.5l94 193h46l-174 -336h154v-33h-168v-71h168v-34h-168v-165h-45z" />
-<glyph unicode="&#xa6;" horiz-adv-x="226" d="M95 279v471h36v-471h-36zM95 -250v470h36v-470h-36z" />
-<glyph unicode="&#xa7;" d="M92 355q0 -37 24 -64.5t53.5 -41t74 -33t68.5 -35.5q39 18 57 40t18 60t-24 66.5t-53 42.5t-74 34t-68 35q-38 -22 -57 -45t-19 -59zM233 -52q-95 0 -161 63l30 28q57 -54 131 -54q45 0 72.5 24.5t27.5 60.5q0 37 -29 63t-70.5 43t-83.5 36.5t-71 54.5t-29 85 q0 83 89 131q-33 33 -33 81q0 47 35 82t100 35q75 0 140 -53l-24 -31q-57 46 -115 46q-47 0 -70.5 -22t-23.5 -54q0 -36 29 -61.5t70 -42.5t82.5 -36.5t70.5 -55.5t29 -87q0 -46 -22 -75.5t-65 -52.5q34 -34 34 -84q0 -53 -42 -88.5t-101 -35.5z" />
-<glyph unicode="&#xa8;" horiz-adv-x="535" d="M178 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM356 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xa9;" horiz-adv-x="741" d="M371 -12q-133 0 -226.5 93t-93.5 241q0 147 93 238.5t227 91.5q133 0 226 -91.5t93 -238.5q0 -148 -93 -241t-226 -93zM371 19q118 0 201 85t83 218q0 132 -83 216t-201 84q-119 0 -202 -84t-83 -216q0 -133 83.5 -218t201.5 -85zM376 124q-74 0 -124.5 53.5t-50.5 144.5 q0 84 53 135.5t127 51.5q65 0 120 -55l-23 -26q-47 44 -98 44q-60 0 -98 -41.5t-38 -108.5q0 -74 36.5 -117.5t97.5 -43.5q60 0 115 50l20 -28q-33 -29 -63 -44t-74 -15z" />
-<glyph unicode="&#xaa;" horiz-adv-x="337" d="M139 398q-44 0 -70.5 24t-26.5 67q0 52 49 79.5t157 38.5q-2 92 -70 92q-54 0 -107 -37l-15 27q64 42 126 42q103 0 103 -125v-200h-30l-6 39h-4q-55 -47 -106 -47zM148 430q48 0 100 49v102q-90 -10 -128.5 -32t-38.5 -57q0 -62 67 -62z" />
-<glyph unicode="&#xab;" horiz-adv-x="399" d="M180 72l-137 161v38l137 161l25 -21l-123 -159l123 -161zM321 72l-137 161v38l137 161l25 -21l-123 -159l123 -161z" />
-<glyph unicode="&#xac;" d="M404 110v201h-370v38h411v-239h-41z" />
-<glyph unicode="&#xad;" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" />
-<glyph unicode="&#xae;" horiz-adv-x="401" d="M200 324q-76 0 -129 54t-53 139q0 86 53 140.5t129 54.5q77 0 129.5 -54.5t52.5 -140.5q0 -85 -52.5 -139t-129.5 -54zM200 353q64 0 107.5 46.5t43.5 117.5t-44 119t-107 48t-107 -48t-44 -119t43.5 -117.5t107.5 -46.5zM132 418v206h69q77 0 77 -64q0 -19 -11.5 -35 t-28.5 -21l49 -86h-37l-39 76h-47v-76h-32zM164 521h29q51 0 51 37q0 38 -48 38h-32v-75z" />
-<glyph unicode="&#xaf;" horiz-adv-x="535" d="M144 606v36h246v-36h-246z" />
-<glyph unicode="&#xb0;" horiz-adv-x="311" d="M156 447q-47 0 -80.5 32.5t-33.5 85.5q0 54 33.5 86.5t80.5 32.5t80.5 -32.5t33.5 -86.5q0 -53 -33.5 -85.5t-80.5 -32.5zM156 479q35 0 57.5 24.5t22.5 61.5q0 38 -22.5 63t-57.5 25t-57.5 -25t-22.5 -63q0 -37 22.5 -61.5t57.5 -24.5z" />
-<glyph unicode="&#xb1;" d="M219 109v201h-185v37h185v203h41v-203h185v-37h-185v-201h-41zM34 0v37h411v-37h-411z" />
-<glyph unicode="&#xb2;" horiz-adv-x="362" d="M56 406v25q111 103 152 153.5t41 96.5q0 43 -23.5 68t-62.5 25q-51 0 -91 -62l-25 23q19 31 51.5 52t68.5 21q56 0 88.5 -31.5t32.5 -91.5q0 -23 -8.5 -47t-17.5 -40.5t-35.5 -46.5t-40 -43.5l-53.5 -53.5l-14 -14h192v-34h-255z" />
-<glyph unicode="&#xb3;" horiz-adv-x="362" d="M177 394q-86 0 -137 75l29 22q40 -64 109 -64q38 0 64.5 22.5t26.5 60.5t-37 59t-101 21v28q56 0 89 24.5t33 59.5q0 33 -22.5 53t-60.5 20q-47 0 -89 -52l-25 22q49 63 118 63q50 0 84 -28t34 -75q0 -69 -75 -99q38 -7 64.5 -32.5t26.5 -64.5q0 -53 -37.5 -84t-93.5 -31 z" />
-<glyph unicode="&#xb4;" horiz-adv-x="535" d="M238 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xb5;" horiz-adv-x="543" d="M92 -180v660h44v-302q0 -150 106 -150q44 0 80 22t75 89v341h44q0 -47 -1 -132t-1.5 -154.5t-0.5 -129.5q0 -37 30 -37q12 0 28 6l8 -36q-20 -9 -42 -9q-35 0 -49 23.5t-14 77.5h-3q-59 -100 -151 -100q-40 0 -67.5 13t-45.5 47q0 -148 5 -229h-45z" />
-<glyph unicode="&#xb6;" horiz-adv-x="515" d="M373 -80v739h46v-739h-46zM291 244q-117 0 -183 50t-66 157q0 108 62 158t171 50h44v-415h-28z" />
-<glyph unicode="&#xb7;" horiz-adv-x="219" d="M110 277q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" />
-<glyph unicode="&#xb8;" horiz-adv-x="535" d="M199 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l41 87h35l-30 -67q71 -18 71 -69q0 -76 -145 -85z" />
-<glyph unicode="&#xb9;" horiz-adv-x="362" d="M176 406v324h-82v27q53 11 87 39h33v-390h-38z" />
-<glyph unicode="&#xba;" horiz-adv-x="360" d="M179 398q-63 0 -104.5 45t-41.5 122t41.5 121.5t104.5 44.5t104.5 -44.5t41.5 -121.5t-41.5 -122t-104.5 -45zM179 431q48 0 77.5 37t29.5 97t-29 97t-78 37q-48 0 -77.5 -37t-29.5 -97q0 -59 29.5 -96.5t77.5 -37.5z" />
-<glyph unicode="&#xbb;" horiz-adv-x="399" d="M78 72l-24 19l122 161l-122 159l24 21l138 -161v-38zM219 72l-24 19l122 161l-122 159l24 21l138 -161v-38z" />
-<glyph unicode="&#xbc;" horiz-adv-x="764" d="M155 269v324h-82v27q53 11 87 39h33v-390h-38zM177 -12l368 683h38l-367 -683h-39zM625 0v114h-177v21l177 255h36v-244h58v-32h-58v-114h-36zM496 146h129v87l4 104h-4l-56 -83z" />
-<glyph unicode="&#xbd;" horiz-adv-x="786" d="M155 269v324h-82v27q53 11 87 39h33v-390h-38zM154 -12l368 683h38l-367 -683h-39zM480 0v25q111 103 152 153.5t41 96.5q0 43 -23.5 68t-62.5 25q-51 0 -91 -62l-25 23q19 31 51.5 52t68.5 21q56 0 88.5 -31.5t32.5 -91.5q0 -23 -8.5 -47t-17.5 -40.5t-35.5 -46.5 t-40 -43.5l-53.5 -53.5l-14 -14h192v-34h-255z" />
-<glyph unicode="&#xbe;" horiz-adv-x="783" d="M177 257q-86 0 -137 75l29 22q40 -64 109 -64q38 0 64.5 22.5t26.5 60.5t-37 59t-101 21v28q56 0 89 24.5t33 59.5q0 33 -22.5 53t-60.5 20q-47 0 -89 -52l-25 22q49 63 118 63q50 0 84 -28t34 -75q0 -69 -75 -99q38 -7 64.5 -32.5t26.5 -64.5q0 -53 -37.5 -84t-93.5 -31 zM224 -12l368 683h38l-367 -683h-39zM644 0v114h-177v21l177 255h36v-244h58v-32h-58v-114h-36zM515 146h129v87l4 104h-4l-56 -83z" />
-<glyph unicode="&#xbf;" horiz-adv-x="402" d="M206 -202q-72 0 -113.5 43t-41.5 110q0 37 17 73t40.5 66t46.5 60.5t36 69.5t8 81h41q6 -46 -6.5 -87t-35 -72t-45.5 -59.5t-40 -62t-17 -66.5q0 -50 29 -83.5t85 -33.5q75 0 128 64l28 -25q-71 -78 -160 -78zM216 401q-17 0 -29.5 12.5t-12.5 34.5q0 20 12.5 32t29.5 12 t29.5 -12t12.5 -32q0 -22 -12.5 -34.5t-29.5 -12.5z" />
-<glyph unicode="&#xc0;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM284 706l-133 113l28 33l125 -123z" />
-<glyph unicode="&#xc1;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM242 706l-20 23l125 123l28 -33z" />
-<glyph unicode="&#xc2;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM128 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" />
-<glyph unicode="&#xc3;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM340 718q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27 t32 -27t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" />
-<glyph unicode="&#xc4;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM165 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM361 725q-16 0 -26.5 10t-10.5 26 q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#xc5;" horiz-adv-x="526" d="M188 388l-42 -123h234l-42 123q-46 133 -73 228h-4q-27 -95 -73 -228zM8 0l232 659h46l232 -659h-48l-77 226h-261l-78 -226h-46zM263 700q-38 0 -63 23.5t-25 61.5q0 39 25 62.5t63 23.5q37 0 62.5 -23.5t25.5 -62.5q0 -37 -25.5 -61t-62.5 -24zM263 726q24 0 40 15.5 t16 43.5q0 27 -16.5 43.5t-39.5 16.5q-25 0 -41.5 -16t-16.5 -44t16.5 -43.5t41.5 -15.5z" />
-<glyph unicode="&#xc6;" horiz-adv-x="809" d="M283 388l-73 -133h201v364h-4q-29 -53 -124 -231zM21 0l365 659h366v-40h-295v-249h245v-40h-245v-290h305v-40h-351v217h-222l-119 -217h-49z" />
-<glyph unicode="&#xc7;" horiz-adv-x="564" d="M262 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l34 73q-120 3 -194.5 96t-74.5 247q0 156 77.5 248t203.5 92q105 0 172 -79l-27 -31q-60 68 -144 68q-109 0 -171.5 -80t-62.5 -218t62 -219.5t168 -81.5q94 0 167 81l27 -29q-73 -83 -167 -92l-24 -55 q71 -18 71 -69q0 -76 -145 -85z" />
-<glyph unicode="&#xc8;" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM303 706l-133 113l28 33l125 -123z" />
-<glyph unicode="&#xc9;" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM261 706l-20 23l125 123l28 -33z" />
-<glyph unicode="&#xca;" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM147 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" />
-<glyph unicode="&#xcb;" horiz-adv-x="515" d="M97 0v659h361v-40h-315v-249h264v-40h-264v-290h325v-40h-371zM184 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM380 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#xcc;" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM141 706l-133 113l28 33l125 -123z" />
-<glyph unicode="&#xcd;" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM99 706l-20 23l125 123l28 -33z" />
-<glyph unicode="&#xce;" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM-15 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" />
-<glyph unicode="&#xcf;" horiz-adv-x="240" d="M97 0v659h46v-659h-46zM22 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM218 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#xd0;" horiz-adv-x="625" d="M37 332v31l81 2v294h153q148 0 223.5 -86.5t75.5 -240.5q0 -155 -75.5 -243.5t-222.5 -88.5h-154v332h-81zM164 39h102q129 0 192.5 79t63.5 214q0 134 -63.5 211t-192.5 77h-102v-255h163v-33h-163v-293z" />
-<glyph unicode="&#xd1;" horiz-adv-x="636" d="M97 0v659h48l278 -465l74 -131h4l-6 192v404h44v-659h-48l-278 465l-74 131h-4q1 -21 2.5 -58.5t2.5 -69t1 -59.5v-409h-44zM400 718q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27t32 -27 t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" />
-<glyph unicode="&#xd2;" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM347 706l-133 113 l28 33l125 -123z" />
-<glyph unicode="&#xd3;" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM305 706l-20 23 l125 123l28 -33z" />
-<glyph unicode="&#xd4;" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM191 726l113 113 h44l113 -113l-20 -19l-113 98h-4l-113 -98z" />
-<glyph unicode="&#xd5;" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM403 718 q-26 0 -49 12.5t-36.5 27t-32 27t-36.5 12.5q-22 0 -37 -20.5t-18 -55.5l-33 3q2 48 25.5 79t62.5 31q26 0 49 -12.5t36.5 -27t32 -27t36.5 -12.5q21 0 35.5 20.5t19.5 56.5l33 -3q-2 -48 -25.5 -79.5t-62.5 -31.5z" />
-<glyph unicode="&#xd6;" horiz-adv-x="652" d="M326 -12q-120 0 -195.5 94.5t-75.5 249.5q0 154 75.5 246.5t195.5 92.5q121 0 196.5 -92.5t75.5 -246.5q0 -155 -76 -249.5t-196 -94.5zM326 30q101 0 162 82.5t61 219.5q0 136 -61 216.5t-162 80.5t-162 -80.5t-61 -216.5q0 -137 61 -219.5t162 -82.5zM228 725 q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM424 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#xd7;" d="M78 135l-26 28l161 167l-161 167l26 28l161 -169l162 169l26 -28l-161 -167l161 -167l-26 -28l-162 168z" />
-<glyph unicode="&#xd8;" horiz-adv-x="652" d="M330 -12q-106 0 -180 77l-66 -88l-28 22l70 94q-67 94 -67 239q0 154 75.5 246.5t195.5 92.5q103 0 176 -70l60 81l29 -22l-65 -86q72 -92 72 -242q0 -155 -76 -249.5t-196 -94.5zM107 332q0 -121 48 -200l323 433q-59 64 -148 64q-101 0 -162 -80.5t-61 -216.5zM330 30 q101 0 162 82.5t61 219.5q0 123 -52 203l-324 -434q60 -71 153 -71z" />
-<glyph unicode="&#xd9;" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM338 706l-133 113l28 33l125 -123z" />
-<glyph unicode="&#xda;" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM296 706l-20 23l125 123l28 -33z" />
-<glyph unicode="&#xdb;" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM182 726l113 113h44l113 -113l-20 -19l-113 98h-4l-113 -98z" />
-<glyph unicode="&#xdc;" horiz-adv-x="634" d="M316 -12q-45 0 -82.5 13t-70 42t-50.5 82.5t-18 127.5v406h46v-401q0 -122 48.5 -175t126.5 -53q80 0 130 53t50 175v401h43v-406q0 -74 -18.5 -127.5t-51 -82.5t-70 -42t-83.5 -13zM219 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26 t-26.5 -10zM415 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#xdd;" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46zM202 706l-20 23l125 123l28 -33z" />
-<glyph unicode="&#xde;" horiz-adv-x="563" d="M97 0v659h46v-117h134q115 0 175 -43t60 -141q0 -95 -61.5 -143.5t-173.5 -48.5h-134v-166h-46zM143 205h123q102 0 150.5 36.5t48.5 116.5t-47.5 112.5t-151.5 32.5h-123v-298z" />
-<glyph unicode="&#xdf;" horiz-adv-x="542" d="M367 -12q-73 0 -136 51l22 33q56 -46 114 -46q48 0 74.5 29t26.5 70q0 38 -21.5 64.5t-52 42t-61.5 31.5t-52.5 43t-21.5 67q0 32 15.5 62t33.5 49.5t33.5 48t15.5 58.5q0 45 -24.5 72.5t-70.5 27.5q-59 0 -92.5 -43.5t-33.5 -130.5v-517h-44v532q0 91 46.5 144t124.5 53 q64 0 101.5 -38t37.5 -96q0 -35 -15.5 -66.5t-34 -51.5t-34 -47t-15.5 -53q0 -31 21.5 -53t52.5 -37t62 -32t52.5 -49.5t21.5 -78.5q0 -60 -41.5 -99.5t-104.5 -39.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM284 574l-144 151l34 29l134 -157z" />
-<glyph unicode="&#xe1;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM226 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xe2;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM117 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#xe3;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM331 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" />
-<glyph unicode="&#xe4;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM166 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM344 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xe5;" horiz-adv-x="491" d="M197 -12q-61 0 -100 33.5t-39 98.5q0 79 73.5 121t236.5 60q2 152 -114 152q-76 0 -153 -56l-20 33q88 62 179 62q80 0 116 -50.5t36 -134.5v-307h-38l-4 62h-3q-93 -74 -170 -74zM205 26q71 0 163 78v163q-144 -17 -204.5 -51.5t-60.5 -93.5q0 -49 28.5 -72.5 t73.5 -23.5zM255 548q-42 0 -69.5 26.5t-27.5 68.5t27.5 69t69.5 27t69.5 -27t27.5 -69t-27.5 -68.5t-69.5 -26.5zM255 574q28 0 46.5 19t18.5 50q0 32 -18.5 51t-46.5 19t-46.5 -19t-18.5 -51q0 -31 18.5 -50t46.5 -19z" />
-<glyph unicode="&#xe6;" horiz-adv-x="784" d="M205 -12q-61 0 -100.5 33.5t-39.5 97.5q0 79 73.5 121.5t231.5 60.5q2 152 -113 152q-73 0 -148 -56l-20 33q88 62 172 62q57 0 92.5 -31.5t47.5 -88.5q27 56 71 88t96 32q84 0 131 -58t47 -164q0 -24 -2 -36h-332q0 -90 49 -148.5t122 -58.5q65 0 125 43l19 -35 q-25 -15 -40.5 -23t-45 -16t-62.5 -8q-101 0 -172 99q-47 -45 -102 -72t-100 -27zM212 26q40 0 89.5 25t89.5 68q-21 43 -21 121l-1 27q-138 -17 -198 -51.5t-60 -93.5q0 -49 28 -72.5t73 -23.5zM412 268h293q0 91 -36.5 138.5t-101.5 47.5q-60 0 -104 -52t-51 -134z" />
-<glyph unicode="&#xe7;" horiz-adv-x="449" d="M188 -219l-7 30q63 4 88 17t25 36q0 22 -18 33.5t-60 17.5l35 74q-89 7 -144 73t-55 177q0 116 63.5 184.5t155.5 68.5q76 0 141 -59l-26 -31q-55 51 -114 51q-74 0 -124 -60t-50 -154q0 -95 48 -153.5t126 -58.5q68 0 128 55l23 -31q-63 -57 -137 -62l-24 -54 q71 -18 71 -69q0 -76 -145 -85z" />
-<glyph unicode="&#xe8;" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM290 574l-144 151l34 29 l134 -157z" />
-<glyph unicode="&#xe9;" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM232 574l-24 23l134 157 l34 -29z" />
-<glyph unicode="&#xea;" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM123 593l117 144h42 l117 -144l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#xeb;" horiz-adv-x="483" d="M274 -12q-95 0 -158.5 68t-63.5 183q0 113 62.5 183t146.5 70q86 0 135 -58.5t49 -163.5q0 -24 -2 -36h-346q2 -92 51.5 -150t129.5 -58q69 0 129 43l18 -34q-78 -47 -151 -47zM97 270h306q0 90 -37.5 137t-103.5 47q-64 0 -111 -50t-54 -134zM172 598q-16 0 -26.5 10.5 t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM350 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xec;" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM143 574l-144 151l34 29l134 -157z" />
-<glyph unicode="&#xed;" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM85 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xee;" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM-24 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#xef;" horiz-adv-x="229" d="M92 0v480h44v-480h-44zM25 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM203 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xf0;" horiz-adv-x="535" d="M267 -12q-84 0 -145.5 63.5t-61.5 167.5q0 99 57.5 161t149.5 62q90 0 148 -76q-24 132 -116 222l-142 -73l-15 27l132 68q-48 41 -123 84l22 30q80 -42 138 -95l142 74l15 -27l-134 -69q136 -138 136 -355q0 -119 -56 -191.5t-147 -72.5zM267 27q78 0 118 62.5t40 161.5 q0 32 -3 62q-62 91 -153 91q-78 0 -121.5 -53t-43.5 -132q0 -83 47.5 -137.5t115.5 -54.5z" />
-<glyph unicode="&#xf1;" horiz-adv-x="532" d="M92 0v480h38l4 -74h3q86 86 165 86q74 0 109.5 -45.5t35.5 -138.5v-308h-44v302q0 77 -26 113.5t-84 36.5q-41 0 -75.5 -21t-81.5 -69v-362h-44zM359 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24 q47 0 53 93l34 -2q-8 -126 -88 -126z" />
-<glyph unicode="&#xf2;" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM296 574l-144 151l34 29l134 -157z " />
-<glyph unicode="&#xf3;" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM238 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xf4;" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM129 593l117 144h42l117 -144 l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#xf5;" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM343 579q-26 0 -48 15t-35.5 33 t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" />
-<glyph unicode="&#xf6;" horiz-adv-x="535" d="M267 -12q-90 0 -152.5 68t-62.5 183q0 116 62.5 184.5t152.5 68.5q91 0 153.5 -68.5t62.5 -184.5q0 -115 -62.5 -183t-153.5 -68zM267 27q73 0 121.5 59t48.5 153t-48.5 154t-121.5 60t-121 -59.5t-48 -154.5q0 -94 48 -153t121 -59zM178 598q-16 0 -26.5 10.5 t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM356 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xf7;" d="M34 311v38h411v-38h-411zM239 109q-16 0 -27 11.5t-11 29.5q0 17 11 28t27 11q17 0 27.5 -11t10.5 -28q0 -19 -10.5 -30t-27.5 -11zM239 469q-16 0 -27 11.5t-11 29.5q0 17 11 28t27 11q17 0 27.5 -11t10.5 -28q0 -19 -10.5 -30t-27.5 -11z" />
-<glyph unicode="&#xf8;" horiz-adv-x="535" d="M267 -12q-82 0 -141 56l-54 -66l-26 21l58 70q-52 68 -52 170q0 116 62.5 184.5t152.5 68.5q83 0 142 -56l54 65l26 -21l-58 -69q52 -70 52 -172q0 -115 -62.5 -183t-153.5 -68zM97 240q0 -81 36 -137l249 300q-46 51 -115 51q-73 0 -121.5 -60t-48.5 -154zM267 26 q74 0 122.5 59.5t48.5 152.5q0 82 -36 138l-249 -300q47 -50 114 -50z" />
-<glyph unicode="&#xf9;" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM294 574l-144 151l34 29l134 -157z" />
-<glyph unicode="&#xfa;" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM236 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xfb;" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM127 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#xfc;" horiz-adv-x="529" d="M230 -12q-74 0 -109.5 45.5t-35.5 138.5v308h44v-302q0 -77 26 -113.5t83 -36.5q42 0 77 23t78 75v354h44v-480h-37l-5 80h-2q-79 -92 -163 -92zM176 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5zM354 598 q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#xfd;" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159zM200 574l-24 23l134 157l34 -29z" />
-<glyph unicode="&#xfe;" horiz-adv-x="544" d="M92 -217v936h44v-298q92 71 163 71q95 0 144 -65t49 -180q0 -118 -62 -188.5t-150 -70.5q-66 0 -144 58v-263h-44zM278 27q73 0 120 61.5t47 158.5q0 95 -37 150.5t-115 55.5q-67 0 -157 -79v-285q76 -62 142 -62z" />
-<glyph unicode="&#xff;" horiz-adv-x="436" d="M73 -219q-27 0 -49 10l10 39q20 -8 39 -8q81 0 123 127l13 42l-197 489h48l116 -302q38 -101 52 -134h4q5 14 44 134l103 302h45l-190 -540q-53 -159 -161 -159zM140 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5 t-26.5 -10.5zM318 598q-16 0 -26.5 10.5t-10.5 26.5t10.5 26.5t26.5 10.5t26.5 -10.5t10.5 -26.5t-10.5 -26.5t-26.5 -10.5z" />
-<glyph unicode="&#x152;" horiz-adv-x="833" d="M367 0q-152 0 -232 89t-80 243q0 153 80 240t233 87h408v-40h-295v-249h245v-40h-245v-290h305v-40h-419zM372 39h63v581h-63q-134 0 -201.5 -77t-67.5 -211t68 -213.5t201 -79.5z" />
-<glyph unicode="&#x153;" horiz-adv-x="848" d="M263 -12q-88 0 -149.5 68t-61.5 183q0 116 61.5 184.5t149.5 68.5q60 0 110.5 -37t75.5 -105q26 66 74 104t105 38q85 0 134 -58.5t49 -163.5q0 -18 -3 -36h-337q0 -90 50 -148.5t123 -58.5q68 0 128 43l19 -35q-78 -47 -152 -47q-63 0 -113 38t-76 103 q-56 -141 -187 -141zM263 27q72 0 118.5 59t46.5 153q0 95 -46.5 154.5t-118.5 59.5q-71 0 -118 -60t-47 -154t47 -153t118 -59zM471 268h298q0 90 -38 138t-103 48q-61 0 -105.5 -52t-51.5 -134z" />
-<glyph unicode="&#x178;" horiz-adv-x="447" d="M200 0v267l-197 392h49l100 -206q53 -111 70 -142h4q55 107 71 142l100 206h47l-198 -392v-267h-46zM125 725q-16 0 -26 10t-10 26q0 17 10 27t26 10t26.5 -10t10.5 -27q0 -16 -10.5 -26t-26.5 -10zM321 725q-16 0 -26.5 10t-10.5 26q0 17 10.5 27t26.5 10t26 -10t10 -27 q0 -16 -10 -26t-26 -10z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="535" d="M129 593l117 144h42l117 -144l-22 -21l-114 126h-4l-114 -126z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="535" d="M343 579q-26 0 -48 15t-35.5 33t-32 33t-36.5 15q-49 0 -54 -93l-34 2q8 126 89 126q32 0 58 -24t48.5 -48t45.5 -24q47 0 53 93l34 -2q-8 -126 -88 -126z" />
-<glyph unicode="&#x2000;" horiz-adv-x="435" />
-<glyph unicode="&#x2001;" horiz-adv-x="871" />
-<glyph unicode="&#x2002;" horiz-adv-x="435" />
-<glyph unicode="&#x2003;" horiz-adv-x="871" />
-<glyph unicode="&#x2004;" horiz-adv-x="290" />
-<glyph unicode="&#x2005;" horiz-adv-x="217" />
-<glyph unicode="&#x2006;" horiz-adv-x="145" />
-<glyph unicode="&#x2007;" horiz-adv-x="145" />
-<glyph unicode="&#x2008;" horiz-adv-x="108" />
-<glyph unicode="&#x2009;" horiz-adv-x="174" />
-<glyph unicode="&#x200a;" horiz-adv-x="48" />
-<glyph unicode="&#x2010;" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" />
-<glyph unicode="&#x2011;" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" />
-<glyph unicode="&#x2012;" horiz-adv-x="299" d="M40 230v39h220v-39h-220z" />
-<glyph unicode="&#x2013;" horiz-adv-x="480" d="M40 232v36h400v-36h-400z" />
-<glyph unicode="&#x2014;" horiz-adv-x="800" d="M40 232v36h720v-36h-720z" />
-<glyph unicode="&#x2018;" horiz-adv-x="219" d="M102 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29t-29 -11z" />
-<glyph unicode="&#x2019;" horiz-adv-x="219" d="M76 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156z" />
-<glyph unicode="&#x201a;" horiz-adv-x="219" d="M76 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156z" />
-<glyph unicode="&#x201c;" horiz-adv-x="360" d="M102 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29t-29 -11zM243 480q-20 0 -32 17.5t-12 49.5q0 100 85 156l18 -23q-35 -29 -51 -56.5t-16 -67.5q2 1 8 1q16 0 28 -9.5t12 -27.5t-11 -29 t-29 -11z" />
-<glyph unicode="&#x201d;" horiz-adv-x="360" d="M76 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156zM217 477l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t10.5 29t28.5 11q21 0 33 -17.5t12 -49.5 q0 -100 -86 -156z" />
-<glyph unicode="&#x201e;" horiz-adv-x="360" d="M76 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t11 29t28 11q21 0 33 -17.5t12 -49.5q0 -100 -86 -156zM217 -131l-18 23q35 29 51 56.5t16 67.5q-2 -1 -8 -1q-16 0 -27.5 9.5t-11.5 27.5t10.5 29t28.5 11q21 0 33 -17.5t12 -49.5 q0 -100 -86 -156z" />
-<glyph unicode="&#x2022;" horiz-adv-x="281" d="M140 154q-40 0 -70 30.5t-30 79.5q0 48 30 79t70 31q41 0 71 -30.5t30 -79.5t-30 -79.5t-71 -30.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="931" d="M147 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM484 -12q-17 0 -30 12.5t-13 32.5q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5zM821 -12q-17 0 -30 12.5t-13 32.5 q0 21 13 33.5t30 12.5t29.5 -12.5t12.5 -33.5q0 -20 -12.5 -32.5t-29.5 -12.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="174" />
-<glyph unicode="&#x2039;" horiz-adv-x="259" d="M180 72l-137 161v38l137 161l25 -21l-123 -159l123 -161z" />
-<glyph unicode="&#x203a;" horiz-adv-x="259" d="M78 72l-24 19l122 161l-122 159l24 21l138 -161v-38z" />
-<glyph unicode="&#x205f;" horiz-adv-x="217" />
-<glyph unicode="&#x20ac;" d="M308 -12q-87 0 -145.5 69t-73.5 189h-65v29l62 4q-1 14 -1 42q0 24 1 35h-62v29l65 4q14 123 76 192.5t158 69.5q43 0 80.5 -22t60.5 -56l-29 -27q-49 67 -112 67q-79 0 -127.5 -59t-59.5 -165h278v-33h-281q-1 -11 -1 -34q0 -29 1 -43h241v-33h-238q13 -103 58.5 -161.5 t116.5 -58.5q76 0 134 81l29 -25q-68 -94 -166 -94z" />
-<glyph unicode="&#x2122;" horiz-adv-x="610" d="M109 369v272h-107v35h253v-35h-108v-272h-38zM307 369v307h52l52 -126l31 -86h4l31 86l50 126h52v-307h-37v161l5 98h-4l-83 -211h-34l-83 211h-4l5 -98v-161h-37z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="480" d="M0 480h480v-480h-480v480z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="509" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM373 0v480h44v-480h-44zM396 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="500" d="M99 0v442h-66v34l66 4v107q0 71 31 107.5t88 36.5q35 0 70 -16l-12 -36q-28 14 -58 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM414 -12q-59 0 -59 76v655h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="758" d="M366 0v442h-223v-442h-44v442h-66v34l66 4v89q0 74 34 113t96 39q42 0 81 -18l-12 -36q-32 16 -69 16q-86 0 -86 -117v-86h223v107q0 71 30.5 107.5t87.5 36.5q35 0 70 -16l-12 -36q-27 14 -57 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM622 0v480h44v-480h-44z M645 596q-17 0 -28.5 11t-11.5 28q0 18 11.5 29t28.5 11t28.5 -11t11.5 -29q0 -17 -11.5 -28t-28.5 -11z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="766" d="M366 0v442h-223v-442h-44v442h-66v34l66 4v89q0 74 34 113t96 39q42 0 81 -18l-12 -36q-32 16 -69 16q-86 0 -86 -117v-86h223v107q0 71 30.5 107.5t87.5 36.5q35 0 70 -16l-12 -36q-27 14 -57 14q-75 0 -75 -109v-104h111v-38h-111v-442h-44zM681 -12q-59 0 -59 76v655 h44v-661q0 -31 21 -31q8 0 18 2l8 -36q-15 -5 -32 -5z" />
-<hkern u1="&#x2f;" u2="&#xef;" k="-76" />
-<hkern u1="&#x2f;" u2="&#xee;" k="-76" />
-<hkern u1="&#x2f;" u2="&#xec;" k="-4" />
-<hkern u1="F" u2="&#xef;" k="-39" />
-<hkern u1="F" u2="&#xee;" k="-37" />
-<hkern u1="V" u2="&#xef;" k="-61" />
-<hkern u1="V" u2="&#xee;" k="-58" />
-<hkern u1="V" u2="&#xed;" k="-18" />
-<hkern u1="V" u2="&#xec;" k="-20" />
-<hkern u1="x" u2="&#x3b;" k="-2" />
-<hkern u1="x" u2="&#x2c;" k="-2" />
-<hkern g1="backslash" 	g2="Eth" 	k="37" />
-<hkern g1="backslash" 	g2="g" 	k="-38" />
-<hkern g1="backslash" 	g2="j" 	k="-78" />
-<hkern g1="backslash" 	g2="T" 	k="96" />
-<hkern g1="backslash" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="37" />
-<hkern g1="backslash" 	g2="v" 	k="20" />
-<hkern g1="backslash" 	g2="V" 	k="58" />
-<hkern g1="backslash" 	g2="w" 	k="10" />
-<hkern g1="backslash" 	g2="W" 	k="37" />
-<hkern g1="backslash" 	g2="y,yacute,ydieresis" 	k="-18" />
-<hkern g1="backslash" 	g2="Y,Yacute,Ydieresis" 	k="78" />
-<hkern g1="exclamdown" 	g2="j" 	k="-38" />
-<hkern g1="exclamdown" 	g2="V" 	k="20" />
-<hkern g1="exclamdown" 	g2="W" 	k="10" />
-<hkern g1="exclamdown" 	g2="Y,Yacute,Ydieresis" 	k="30" />
-<hkern g1="periodcentered" 	g2="T" 	k="61" />
-<hkern g1="periodcentered" 	g2="V" 	k="20" />
-<hkern g1="periodcentered" 	g2="Y,Yacute,Ydieresis" 	k="41" />
-<hkern g1="periodcentered" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="21" />
-<hkern g1="periodcentered" 	g2="S" 	k="21" />
-<hkern g1="periodcentered" 	g2="x" 	k="20" />
-<hkern g1="periodcentered" 	g2="X" 	k="20" />
-<hkern g1="periodcentered" 	g2="Z" 	k="41" />
-<hkern g1="questiondown" 	g2="j" 	k="-67" />
-<hkern g1="questiondown" 	g2="T" 	k="82" />
-<hkern g1="questiondown" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="31" />
-<hkern g1="questiondown" 	g2="V" 	k="41" />
-<hkern g1="questiondown" 	g2="W" 	k="31" />
-<hkern g1="questiondown" 	g2="Y,Yacute,Ydieresis" 	k="68" />
-<hkern g1="questiondown" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="46" />
-<hkern g1="questiondown" 	g2="S" 	k="20" />
-<hkern g1="questiondown" 	g2="X" 	k="26" />
-<hkern g1="questiondown" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="24" />
-<hkern g1="questiondown" 	g2="f,uniFB01,uniFB02" 	k="46" />
-<hkern g1="questiondown" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="13" />
-<hkern g1="questiondown" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="21" />
-<hkern g1="slash" 	g2="g" 	k="10" />
-<hkern g1="slash" 	g2="j" 	k="-36" />
-<hkern g1="slash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="40" />
-<hkern g1="slash" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="21" />
-<hkern g1="slash" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="41" />
-<hkern g1="slash" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="slash" 	g2="i,igrave,iacute,icircumflex,idieresis" 	k="-36" />
-<hkern g1="slash" 	g2="J" 	k="80" />
-<hkern g1="slash" 	g2="t" 	k="-17" />
-<hkern g1="slash" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="20" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="t" 	k="11" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="T" 	k="21" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="V" 	k="10" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="Y,Yacute,Ydieresis" 	k="21" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="quoteright,quotedblright" 	k="10" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="asterisk" 	k="60" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="t" 	k="11" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="T" 	k="44" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="V" 	k="11" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quoteright,quotedblright" 	k="55" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="asterisk" 	k="100" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="periodcentered" 	k="21" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="-28" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="9" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="f,uniFB01,uniFB02" 	k="10" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="s" 	k="-28" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="9" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="17" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="X" 	k="-10" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="Z" 	k="11" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="question" 	k="20" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quoteleft,quotedblleft" 	k="58" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quotedbl,quotesingle" 	k="44" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="backslash" 	k="40" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="registered" 	k="71" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="trademark" 	k="40" />
-<hkern g1="B" 	g2="t" 	k="10" />
-<hkern g1="B" 	g2="T" 	k="21" />
-<hkern g1="B" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="B" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="B" 	g2="asterisk" 	k="30" />
-<hkern g1="B" 	g2="periodcentered" 	k="20" />
-<hkern g1="B" 	g2="quoteleft,quotedblleft" 	k="11" />
-<hkern g1="B" 	g2="trademark" 	k="20" />
-<hkern g1="B" 	g2="J" 	k="15" />
-<hkern g1="B" 	g2="S" 	k="11" />
-<hkern g1="B" 	g2="v" 	k="11" />
-<hkern g1="B" 	g2="w" 	k="10" />
-<hkern g1="B" 	g2="x" 	k="10" />
-<hkern g1="B" 	g2="y,yacute,ydieresis" 	k="11" />
-<hkern g1="c,ccedilla" 	g2="t" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="T" 	k="20" />
-<hkern g1="c,ccedilla" 	g2="V" 	k="11" />
-<hkern g1="c,ccedilla" 	g2="Y,Yacute,Ydieresis" 	k="21" />
-<hkern g1="c,ccedilla" 	g2="periodcentered" 	k="11" />
-<hkern g1="c,ccedilla" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="registered" 	k="-29" />
-<hkern g1="c,ccedilla" 	g2="v" 	k="-9" />
-<hkern g1="c,ccedilla" 	g2="w" 	k="-9" />
-<hkern g1="c,ccedilla" 	g2="x" 	k="-15" />
-<hkern g1="c,ccedilla" 	g2="y,yacute,ydieresis" 	k="-9" />
-<hkern g1="c,ccedilla" 	g2="g" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="17" />
-<hkern g1="c,ccedilla" 	g2="hyphen,uni00AD,endash,emdash" 	k="11" />
-<hkern g1="c,ccedilla" 	g2="guillemotleft,guilsinglleft" 	k="11" />
-<hkern g1="C,Ccedilla" 	g2="t" 	k="22" />
-<hkern g1="C,Ccedilla" 	g2="T" 	k="21" />
-<hkern g1="C,Ccedilla" 	g2="periodcentered" 	k="40" />
-<hkern g1="C,Ccedilla" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="24" />
-<hkern g1="C,Ccedilla" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="11" />
-<hkern g1="C,Ccedilla" 	g2="Z" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="registered" 	k="-19" />
-<hkern g1="C,Ccedilla" 	g2="trademark" 	k="-30" />
-<hkern g1="C,Ccedilla" 	g2="J" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="S" 	k="21" />
-<hkern g1="C,Ccedilla" 	g2="v" 	k="11" />
-<hkern g1="C,Ccedilla" 	g2="w" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="y,yacute,ydieresis" 	k="11" />
-<hkern g1="C,Ccedilla" 	g2="g" 	k="20" />
-<hkern g1="C,Ccedilla" 	g2="hyphen,uni00AD,endash,emdash" 	k="20" />
-<hkern g1="C,Ccedilla" 	g2="guillemotleft,guilsinglleft" 	k="11" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="t" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="T" 	k="21" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="V" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="quoteright,quotedblright" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="asterisk" 	k="40" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="15" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="backslash" 	k="11" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="registered" 	k="-7" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="trademark" 	k="12" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="J" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="S" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="v" 	k="-12" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="w" 	k="-12" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="y,yacute,ydieresis" 	k="-12" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="g" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="hyphen,uni00AD,endash,emdash" 	k="-10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="guillemotleft,guilsinglleft" 	k="-7" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="W" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="z" 	k="-4" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="t" 	k="21" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="v" 	k="10" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="x" 	k="23" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="y,yacute,ydieresis" 	k="10" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="f" 	g2="T" 	k="-49" />
-<hkern g1="f" 	g2="V" 	k="-69" />
-<hkern g1="f" 	g2="Y,Yacute,Ydieresis" 	k="-67" />
-<hkern g1="f" 	g2="quoteright,quotedblright" 	k="-40" />
-<hkern g1="f" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="41" />
-<hkern g1="f" 	g2="periodcentered" 	k="20" />
-<hkern g1="f" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="f" 	g2="X" 	k="-38" />
-<hkern g1="f" 	g2="question" 	k="-29" />
-<hkern g1="f" 	g2="quoteleft,quotedblleft" 	k="-40" />
-<hkern g1="f" 	g2="quotedbl,quotesingle" 	k="-40" />
-<hkern g1="f" 	g2="backslash" 	k="-79" />
-<hkern g1="f" 	g2="registered" 	k="-90" />
-<hkern g1="f" 	g2="trademark" 	k="-79" />
-<hkern g1="f" 	g2="v" 	k="-18" />
-<hkern g1="f" 	g2="g" 	k="15" />
-<hkern g1="f" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="f" 	g2="hyphen,uni00AD,endash,emdash" 	k="11" />
-<hkern g1="f" 	g2="W" 	k="-49" />
-<hkern g1="f" 	g2="z" 	k="11" />
-<hkern g1="f" 	g2="j" 	k="10" />
-<hkern g1="f" 	g2="parenright,bracketright,braceright" 	k="-57" />
-<hkern g1="f" 	g2="exclam" 	k="-20" />
-<hkern g1="f" 	g2="slash" 	k="20" />
-<hkern g1="F" 	g2="t" 	k="10" />
-<hkern g1="F" 	g2="V" 	k="-10" />
-<hkern g1="F" 	g2="Y,Yacute,Ydieresis" 	k="-11" />
-<hkern g1="F" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="60" />
-<hkern g1="F" 	g2="periodcentered" 	k="11" />
-<hkern g1="F" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="31" />
-<hkern g1="F" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="36" />
-<hkern g1="F" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="F" 	g2="s" 	k="16" />
-<hkern g1="F" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="15" />
-<hkern g1="F" 	g2="X" 	k="21" />
-<hkern g1="F" 	g2="Z" 	k="30" />
-<hkern g1="F" 	g2="registered" 	k="-29" />
-<hkern g1="F" 	g2="trademark" 	k="-54" />
-<hkern g1="F" 	g2="J" 	k="141" />
-<hkern g1="F" 	g2="S" 	k="16" />
-<hkern g1="F" 	g2="v" 	k="11" />
-<hkern g1="F" 	g2="w" 	k="10" />
-<hkern g1="F" 	g2="x" 	k="20" />
-<hkern g1="F" 	g2="y,yacute,ydieresis" 	k="10" />
-<hkern g1="F" 	g2="g" 	k="21" />
-<hkern g1="F" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="11" />
-<hkern g1="F" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="F" 	g2="W" 	k="-10" />
-<hkern g1="F" 	g2="z" 	k="17" />
-<hkern g1="F" 	g2="slash" 	k="81" />
-<hkern g1="F" 	g2="m,n,p,r,ntilde" 	k="20" />
-<hkern g1="germandbls" 	g2="t" 	k="15" />
-<hkern g1="germandbls" 	g2="quoteright,quotedblright" 	k="37" />
-<hkern g1="germandbls" 	g2="question" 	k="10" />
-<hkern g1="germandbls" 	g2="quoteleft,quotedblleft" 	k="35" />
-<hkern g1="germandbls" 	g2="quotedbl,quotesingle" 	k="62" />
-<hkern g1="germandbls" 	g2="backslash" 	k="20" />
-<hkern g1="germandbls" 	g2="registered" 	k="24" />
-<hkern g1="germandbls" 	g2="v" 	k="10" />
-<hkern g1="germandbls" 	g2="w" 	k="11" />
-<hkern g1="germandbls" 	g2="x" 	k="-9" />
-<hkern g1="germandbls" 	g2="y,yacute,ydieresis" 	k="10" />
-<hkern g1="g" 	g2="T" 	k="20" />
-<hkern g1="g" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="g" 	g2="asterisk" 	k="38" />
-<hkern g1="g" 	g2="periodcentered" 	k="11" />
-<hkern g1="g" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="15" />
-<hkern g1="g" 	g2="question" 	k="30" />
-<hkern g1="g" 	g2="registered" 	k="-20" />
-<hkern g1="g" 	g2="y,yacute,ydieresis" 	k="-22" />
-<hkern g1="g" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="11" />
-<hkern g1="g" 	g2="z" 	k="11" />
-<hkern g1="g" 	g2="j" 	k="-32" />
-<hkern g1="g" 	g2="parenright,bracketright,braceright" 	k="-20" />
-<hkern g1="g" 	g2="slash" 	k="-60" />
-<hkern g1="G" 	g2="T" 	k="20" />
-<hkern g1="G" 	g2="V" 	k="11" />
-<hkern g1="G" 	g2="asterisk" 	k="31" />
-<hkern g1="G" 	g2="registered" 	k="-20" />
-<hkern g1="G" 	g2="trademark" 	k="-25" />
-<hkern g1="J" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="21" />
-<hkern g1="J" 	g2="J" 	k="40" />
-<hkern g1="k" 	g2="t" 	k="13" />
-<hkern g1="k" 	g2="T" 	k="24" />
-<hkern g1="k" 	g2="Y,Yacute,Ydieresis" 	k="7" />
-<hkern g1="k" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="k" 	g2="asterisk" 	k="22" />
-<hkern g1="k" 	g2="colon,semicolon" 	k="-18" />
-<hkern g1="k" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="-18" />
-<hkern g1="k" 	g2="periodcentered" 	k="20" />
-<hkern g1="k" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="k" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="11" />
-<hkern g1="k" 	g2="registered" 	k="-7" />
-<hkern g1="k" 	g2="trademark" 	k="20" />
-<hkern g1="k" 	g2="g" 	k="10" />
-<hkern g1="k" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="12" />
-<hkern g1="k" 	g2="hyphen,uni00AD,endash,emdash" 	k="21" />
-<hkern g1="k" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="k" 	g2="guillemotright,guilsinglright" 	k="3" />
-<hkern g1="k" 	g2="j" 	k="10" />
-<hkern g1="K" 	g2="t" 	k="22" />
-<hkern g1="K" 	g2="T" 	k="12" />
-<hkern g1="K" 	g2="V" 	k="9" />
-<hkern g1="K" 	g2="Y,Yacute,Ydieresis" 	k="10" />
-<hkern g1="K" 	g2="asterisk" 	k="40" />
-<hkern g1="K" 	g2="periodcentered" 	k="40" />
-<hkern g1="K" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="10" />
-<hkern g1="K" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="16" />
-<hkern g1="K" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="15" />
-<hkern g1="K" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="11" />
-<hkern g1="K" 	g2="quotedbl,quotesingle" 	k="13" />
-<hkern g1="K" 	g2="registered" 	k="-19" />
-<hkern g1="K" 	g2="trademark" 	k="-17" />
-<hkern g1="K" 	g2="v" 	k="11" />
-<hkern g1="K" 	g2="w" 	k="10" />
-<hkern g1="K" 	g2="x" 	k="10" />
-<hkern g1="K" 	g2="y,yacute,ydieresis" 	k="11" />
-<hkern g1="K" 	g2="hyphen,uni00AD,endash,emdash" 	k="17" />
-<hkern g1="K" 	g2="guillemotleft,guilsinglleft" 	k="10" />
-<hkern g1="K" 	g2="W" 	k="10" />
-<hkern g1="K" 	g2="z" 	k="11" />
-<hkern g1="K" 	g2="j" 	k="10" />
-<hkern g1="l,uniFB02" 	g2="j" 	k="-7" />
-<hkern g1="L" 	g2="t" 	k="16" />
-<hkern g1="L" 	g2="T" 	k="120" />
-<hkern g1="L" 	g2="V" 	k="75" />
-<hkern g1="L" 	g2="Y,Yacute,Ydieresis" 	k="70" />
-<hkern g1="L" 	g2="quoteright,quotedblright" 	k="61" />
-<hkern g1="L" 	g2="asterisk" 	k="140" />
-<hkern g1="L" 	g2="periodcentered" 	k="80" />
-<hkern g1="L" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="-8" />
-<hkern g1="L" 	g2="f,uniFB01,uniFB02" 	k="11" />
-<hkern g1="L" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="20" />
-<hkern g1="L" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="L" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="24" />
-<hkern g1="L" 	g2="question" 	k="20" />
-<hkern g1="L" 	g2="quoteleft,quotedblleft" 	k="61" />
-<hkern g1="L" 	g2="quotedbl,quotesingle" 	k="59" />
-<hkern g1="L" 	g2="backslash" 	k="80" />
-<hkern g1="L" 	g2="registered" 	k="80" />
-<hkern g1="L" 	g2="trademark" 	k="81" />
-<hkern g1="L" 	g2="S" 	k="19" />
-<hkern g1="L" 	g2="v" 	k="26" />
-<hkern g1="L" 	g2="w" 	k="31" />
-<hkern g1="L" 	g2="y,yacute,ydieresis" 	k="26" />
-<hkern g1="L" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="11" />
-<hkern g1="L" 	g2="hyphen,uni00AD,endash,emdash" 	k="60" />
-<hkern g1="L" 	g2="guillemotleft,guilsinglleft" 	k="40" />
-<hkern g1="L" 	g2="W" 	k="55" />
-<hkern g1="h,m,n,ntilde" 	g2="T" 	k="21" />
-<hkern g1="h,m,n,ntilde" 	g2="V" 	k="10" />
-<hkern g1="h,m,n,ntilde" 	g2="Y,Yacute,Ydieresis" 	k="10" />
-<hkern g1="h,m,n,ntilde" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="h,m,n,ntilde" 	g2="asterisk" 	k="40" />
-<hkern g1="h,m,n,ntilde" 	g2="trademark" 	k="20" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="t" 	k="12" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="T" 	k="56" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="V" 	k="18" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="Y,Yacute,Ydieresis" 	k="40" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="asterisk" 	k="36" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="10" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="15" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quoteleft,quotedblleft" 	k="20" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quotedbl,quotesingle" 	k="37" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="backslash" 	k="20" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="x" 	k="12" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="hyphen,uni00AD,endash,emdash" 	k="-9" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="T" 	k="21" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="V" 	k="10" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="asterisk" 	k="40" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="10" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="X" 	k="12" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Z" 	k="20" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="registered" 	k="-9" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="trademark" 	k="20" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="J" 	k="31" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="x" 	k="11" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="W" 	k="9" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="slash" 	k="21" />
-<hkern g1="P" 	g2="T" 	k="30" />
-<hkern g1="P" 	g2="Y,Yacute,Ydieresis" 	k="10" />
-<hkern g1="P" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="100" />
-<hkern g1="P" 	g2="periodcentered" 	k="11" />
-<hkern g1="P" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="48" />
-<hkern g1="P" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="50" />
-<hkern g1="P" 	g2="s" 	k="10" />
-<hkern g1="P" 	g2="X" 	k="21" />
-<hkern g1="P" 	g2="Z" 	k="94" />
-<hkern g1="P" 	g2="registered" 	k="-39" />
-<hkern g1="P" 	g2="J" 	k="149" />
-<hkern g1="P" 	g2="S" 	k="10" />
-<hkern g1="P" 	g2="x" 	k="11" />
-<hkern g1="P" 	g2="g" 	k="39" />
-<hkern g1="P" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="25" />
-<hkern g1="P" 	g2="hyphen,uni00AD,endash,emdash" 	k="38" />
-<hkern g1="P" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="P" 	g2="z" 	k="20" />
-<hkern g1="P" 	g2="slash" 	k="90" />
-<hkern g1="r" 	g2="quoteright,quotedblright" 	k="-34" />
-<hkern g1="r" 	g2="colon,semicolon" 	k="-36" />
-<hkern g1="r" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="39" />
-<hkern g1="r" 	g2="periodcentered" 	k="19" />
-<hkern g1="r" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="21" />
-<hkern g1="r" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="11" />
-<hkern g1="r" 	g2="Z" 	k="10" />
-<hkern g1="r" 	g2="quoteleft,quotedblleft" 	k="-38" />
-<hkern g1="r" 	g2="backslash" 	k="-18" />
-<hkern g1="r" 	g2="registered" 	k="-79" />
-<hkern g1="r" 	g2="J" 	k="44" />
-<hkern g1="r" 	g2="v" 	k="-36" />
-<hkern g1="r" 	g2="w" 	k="-27" />
-<hkern g1="r" 	g2="y,yacute,ydieresis" 	k="-36" />
-<hkern g1="r" 	g2="g" 	k="10" />
-<hkern g1="r" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="r" 	g2="hyphen,uni00AD,endash,emdash" 	k="21" />
-<hkern g1="r" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="r" 	g2="slash" 	k="40" />
-<hkern g1="R" 	g2="T" 	k="11" />
-<hkern g1="R" 	g2="V" 	k="-16" />
-<hkern g1="R" 	g2="Y,Yacute,Ydieresis" 	k="-7" />
-<hkern g1="R" 	g2="asterisk" 	k="10" />
-<hkern g1="R" 	g2="periodcentered" 	k="10" />
-<hkern g1="R" 	g2="Z" 	k="10" />
-<hkern g1="R" 	g2="registered" 	k="-36" />
-<hkern g1="R" 	g2="J" 	k="21" />
-<hkern g1="R" 	g2="S" 	k="14" />
-<hkern g1="R" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="R" 	g2="hyphen,uni00AD,endash,emdash" 	k="32" />
-<hkern g1="R" 	g2="guillemotleft,guilsinglleft" 	k="30" />
-<hkern g1="R" 	g2="W" 	k="-9" />
-<hkern g1="R" 	g2="guillemotright,guilsinglright" 	k="11" />
-<hkern g1="s" 	g2="t" 	k="20" />
-<hkern g1="s" 	g2="T" 	k="21" />
-<hkern g1="s" 	g2="V" 	k="10" />
-<hkern g1="s" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="s" 	g2="quoteright,quotedblright" 	k="3" />
-<hkern g1="s" 	g2="asterisk" 	k="61" />
-<hkern g1="s" 	g2="question" 	k="3" />
-<hkern g1="s" 	g2="hyphen,uni00AD,endash,emdash" 	k="-10" />
-<hkern g1="S" 	g2="t" 	k="21" />
-<hkern g1="S" 	g2="T" 	k="20" />
-<hkern g1="S" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="S" 	g2="quoteright,quotedblright" 	k="3" />
-<hkern g1="S" 	g2="asterisk" 	k="19" />
-<hkern g1="S" 	g2="periodcentered" 	k="12" />
-<hkern g1="S" 	g2="registered" 	k="-8" />
-<hkern g1="S" 	g2="J" 	k="11" />
-<hkern g1="S" 	g2="S" 	k="11" />
-<hkern g1="S" 	g2="hyphen,uni00AD,endash,emdash" 	k="-11" />
-<hkern g1="S" 	g2="z" 	k="-9" />
-<hkern g1="Thorn" 	g2="asterisk" 	k="75" />
-<hkern g1="Thorn" 	g2="backslash" 	k="40" />
-<hkern g1="Thorn" 	g2="trademark" 	k="21" />
-<hkern g1="Thorn" 	g2="slash" 	k="74" />
-<hkern g1="t" 	g2="t" 	k="20" />
-<hkern g1="t" 	g2="T" 	k="11" />
-<hkern g1="t" 	g2="colon,semicolon" 	k="-20" />
-<hkern g1="t" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="-18" />
-<hkern g1="t" 	g2="periodcentered" 	k="20" />
-<hkern g1="t" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="22" />
-<hkern g1="t" 	g2="s" 	k="10" />
-<hkern g1="t" 	g2="question" 	k="20" />
-<hkern g1="t" 	g2="registered" 	k="-40" />
-<hkern g1="t" 	g2="x" 	k="19" />
-<hkern g1="t" 	g2="g" 	k="10" />
-<hkern g1="t" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="11" />
-<hkern g1="t" 	g2="hyphen,uni00AD,endash,emdash" 	k="20" />
-<hkern g1="t" 	g2="guillemotleft,guilsinglleft" 	k="21" />
-<hkern g1="t" 	g2="guillemotright,guilsinglright" 	k="11" />
-<hkern g1="t" 	g2="slash" 	k="-19" />
-<hkern g1="T" 	g2="t" 	k="21" />
-<hkern g1="T" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="T" 	g2="colon,semicolon" 	k="20" />
-<hkern g1="T" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="100" />
-<hkern g1="T" 	g2="periodcentered" 	k="61" />
-<hkern g1="T" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="78" />
-<hkern g1="T" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="40" />
-<hkern g1="T" 	g2="f,uniFB01,uniFB02" 	k="21" />
-<hkern g1="T" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="21" />
-<hkern g1="T" 	g2="s" 	k="58" />
-<hkern g1="T" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="49" />
-<hkern g1="T" 	g2="X" 	k="20" />
-<hkern g1="T" 	g2="Z" 	k="60" />
-<hkern g1="T" 	g2="registered" 	k="-20" />
-<hkern g1="T" 	g2="trademark" 	k="-40" />
-<hkern g1="T" 	g2="J" 	k="129" />
-<hkern g1="T" 	g2="S" 	k="47" />
-<hkern g1="T" 	g2="v" 	k="38" />
-<hkern g1="T" 	g2="w" 	k="40" />
-<hkern g1="T" 	g2="x" 	k="47" />
-<hkern g1="T" 	g2="y,yacute,ydieresis" 	k="38" />
-<hkern g1="T" 	g2="g" 	k="78" />
-<hkern g1="T" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="60" />
-<hkern g1="T" 	g2="hyphen,uni00AD,endash,emdash" 	k="78" />
-<hkern g1="T" 	g2="guillemotleft,guilsinglleft" 	k="42" />
-<hkern g1="T" 	g2="z" 	k="82" />
-<hkern g1="T" 	g2="guillemotright,guilsinglright" 	k="40" />
-<hkern g1="T" 	g2="slash" 	k="101" />
-<hkern g1="T" 	g2="m,n,p,r,ntilde" 	k="49" />
-<hkern g1="T" 	g2="AE" 	k="96" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="T" 	k="20" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="V" 	k="11" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="Y,Yacute,Ydieresis" 	k="30" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="asterisk" 	k="30" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="19" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="X" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="J" 	k="42" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="S" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="g" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="slash" 	k="41" />
-<hkern g1="v" 	g2="T" 	k="20" />
-<hkern g1="v" 	g2="V" 	k="8" />
-<hkern g1="v" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="v" 	g2="asterisk" 	k="12" />
-<hkern g1="v" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="20" />
-<hkern g1="v" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="v" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="10" />
-<hkern g1="v" 	g2="Z" 	k="10" />
-<hkern g1="v" 	g2="registered" 	k="-56" />
-<hkern g1="v" 	g2="trademark" 	k="-17" />
-<hkern g1="v" 	g2="J" 	k="40" />
-<hkern g1="v" 	g2="z" 	k="21" />
-<hkern g1="v" 	g2="j" 	k="10" />
-<hkern g1="v" 	g2="slash" 	k="20" />
-<hkern g1="V" 	g2="V" 	k="-10" />
-<hkern g1="V" 	g2="quoteright,quotedblright" 	k="-18" />
-<hkern g1="V" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="58" />
-<hkern g1="V" 	g2="periodcentered" 	k="16" />
-<hkern g1="V" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="15" />
-<hkern g1="V" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="11" />
-<hkern g1="V" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="V" 	g2="s" 	k="9" />
-<hkern g1="V" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="30" />
-<hkern g1="V" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="V" 	g2="Z" 	k="18" />
-<hkern g1="V" 	g2="registered" 	k="-54" />
-<hkern g1="V" 	g2="trademark" 	k="-51" />
-<hkern g1="V" 	g2="J" 	k="78" />
-<hkern g1="V" 	g2="S" 	k="10" />
-<hkern g1="V" 	g2="v" 	k="8" />
-<hkern g1="V" 	g2="w" 	k="8" />
-<hkern g1="V" 	g2="x" 	k="13" />
-<hkern g1="V" 	g2="y,yacute,ydieresis" 	k="8" />
-<hkern g1="V" 	g2="g" 	k="22" />
-<hkern g1="V" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="13" />
-<hkern g1="V" 	g2="hyphen,uni00AD,endash,emdash" 	k="18" />
-<hkern g1="V" 	g2="guillemotleft,guilsinglleft" 	k="22" />
-<hkern g1="V" 	g2="z" 	k="27" />
-<hkern g1="V" 	g2="guillemotright,guilsinglright" 	k="14" />
-<hkern g1="V" 	g2="slash" 	k="58" />
-<hkern g1="V" 	g2="m,n,p,r,ntilde" 	k="20" />
-<hkern g1="w" 	g2="T" 	k="21" />
-<hkern g1="w" 	g2="V" 	k="8" />
-<hkern g1="w" 	g2="Y,Yacute,Ydieresis" 	k="21" />
-<hkern g1="w" 	g2="asterisk" 	k="12" />
-<hkern g1="w" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="15" />
-<hkern g1="w" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="w" 	g2="X" 	k="11" />
-<hkern g1="w" 	g2="registered" 	k="-54" />
-<hkern g1="w" 	g2="trademark" 	k="-19" />
-<hkern g1="w" 	g2="J" 	k="30" />
-<hkern g1="w" 	g2="z" 	k="12" />
-<hkern g1="w" 	g2="j" 	k="10" />
-<hkern g1="w" 	g2="slash" 	k="11" />
-<hkern g1="W" 	g2="quoteright,quotedblright" 	k="-18" />
-<hkern g1="W" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="31" />
-<hkern g1="W" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="19" />
-<hkern g1="W" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="9" />
-<hkern g1="W" 	g2="Z" 	k="9" />
-<hkern g1="W" 	g2="registered" 	k="-47" />
-<hkern g1="W" 	g2="trademark" 	k="-31" />
-<hkern g1="W" 	g2="J" 	k="76" />
-<hkern g1="W" 	g2="S" 	k="9" />
-<hkern g1="W" 	g2="g" 	k="18" />
-<hkern g1="W" 	g2="hyphen,uni00AD,endash,emdash" 	k="10" />
-<hkern g1="W" 	g2="guillemotleft,guilsinglleft" 	k="10" />
-<hkern g1="W" 	g2="z" 	k="10" />
-<hkern g1="W" 	g2="guillemotright,guilsinglright" 	k="10" />
-<hkern g1="W" 	g2="slash" 	k="41" />
-<hkern g1="x" 	g2="t" 	k="21" />
-<hkern g1="x" 	g2="T" 	k="38" />
-<hkern g1="x" 	g2="V" 	k="13" />
-<hkern g1="x" 	g2="Y,Yacute,Ydieresis" 	k="31" />
-<hkern g1="x" 	g2="asterisk" 	k="24" />
-<hkern g1="x" 	g2="periodcentered" 	k="20" />
-<hkern g1="x" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="x" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="x" 	g2="X" 	k="10" />
-<hkern g1="x" 	g2="registered" 	k="-54" />
-<hkern g1="x" 	g2="trademark" 	k="-17" />
-<hkern g1="x" 	g2="y,yacute,ydieresis" 	k="-7" />
-<hkern g1="x" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="12" />
-<hkern g1="x" 	g2="hyphen,uni00AD,endash,emdash" 	k="11" />
-<hkern g1="x" 	g2="guillemotleft,guilsinglleft" 	k="21" />
-<hkern g1="x" 	g2="guillemotright,guilsinglright" 	k="20" />
-<hkern g1="x" 	g2="exclam" 	k="11" />
-<hkern g1="X" 	g2="t" 	k="10" />
-<hkern g1="X" 	g2="T" 	k="20" />
-<hkern g1="X" 	g2="asterisk" 	k="10" />
-<hkern g1="X" 	g2="periodcentered" 	k="40" />
-<hkern g1="X" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="X" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="-8" />
-<hkern g1="X" 	g2="f,uniFB01,uniFB02" 	k="10" />
-<hkern g1="X" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="12" />
-<hkern g1="X" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="X" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="X" 	g2="quotedbl,quotesingle" 	k="10" />
-<hkern g1="X" 	g2="registered" 	k="-20" />
-<hkern g1="X" 	g2="trademark" 	k="-22" />
-<hkern g1="X" 	g2="J" 	k="-7" />
-<hkern g1="X" 	g2="S" 	k="11" />
-<hkern g1="X" 	g2="v" 	k="10" />
-<hkern g1="X" 	g2="w" 	k="11" />
-<hkern g1="X" 	g2="x" 	k="10" />
-<hkern g1="X" 	g2="y,yacute,ydieresis" 	k="10" />
-<hkern g1="X" 	g2="hyphen,uni00AD,endash,emdash" 	k="22" />
-<hkern g1="X" 	g2="guillemotleft,guilsinglleft" 	k="11" />
-<hkern g1="X" 	g2="z" 	k="11" />
-<hkern g1="X" 	g2="guillemotright,guilsinglright" 	k="11" />
-<hkern g1="y,yacute,ydieresis" 	g2="T" 	k="20" />
-<hkern g1="y,yacute,ydieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="20" />
-<hkern g1="y,yacute,ydieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="y,yacute,ydieresis" 	g2="registered" 	k="-56" />
-<hkern g1="y,yacute,ydieresis" 	g2="trademark" 	k="-18" />
-<hkern g1="y,yacute,ydieresis" 	g2="J" 	k="40" />
-<hkern g1="y,yacute,ydieresis" 	g2="x" 	k="11" />
-<hkern g1="y,yacute,ydieresis" 	g2="z" 	k="21" />
-<hkern g1="y,yacute,ydieresis" 	g2="j" 	k="10" />
-<hkern g1="y,yacute,ydieresis" 	g2="slash" 	k="20" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="t" 	k="15" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="T" 	k="11" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="quoteright,quotedblright" 	k="-17" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="colon,semicolon" 	k="18" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="79" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="periodcentered" 	k="40" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="62" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="11" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="11" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="s" 	k="33" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="31" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="Z" 	k="29" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="registered" 	k="-38" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="trademark" 	k="-49" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="J" 	k="100" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="S" 	k="15" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="v" 	k="11" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="w" 	k="21" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="x" 	k="31" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="y,yacute,ydieresis" 	k="11" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="g" 	k="60" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="33" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="hyphen,uni00AD,endash,emdash" 	k="60" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="guillemotleft,guilsinglleft" 	k="44" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="z" 	k="42" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="guillemotright,guilsinglright" 	k="28" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="slash" 	k="78" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="m,n,p,r,ntilde" 	k="40" />
-<hkern g1="z" 	g2="T" 	k="29" />
-<hkern g1="z" 	g2="Y,Yacute,Ydieresis" 	k="37" />
-<hkern g1="z" 	g2="periodcentered" 	k="12" />
-<hkern g1="z" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="28" />
-<hkern g1="z" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="z" 	g2="registered" 	k="-36" />
-<hkern g1="z" 	g2="trademark" 	k="-18" />
-<hkern g1="z" 	g2="g" 	k="9" />
-<hkern g1="z" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="z" 	g2="hyphen,uni00AD,endash,emdash" 	k="10" />
-<hkern g1="Z" 	g2="t" 	k="11" />
-<hkern g1="Z" 	g2="V" 	k="9" />
-<hkern g1="Z" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="Z" 	g2="periodcentered" 	k="60" />
-<hkern g1="Z" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="19" />
-<hkern g1="Z" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="9" />
-<hkern g1="Z" 	g2="f,uniFB01,uniFB02" 	k="20" />
-<hkern g1="Z" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="20" />
-<hkern g1="Z" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="28" />
-<hkern g1="Z" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="Z" 	g2="Z" 	k="19" />
-<hkern g1="Z" 	g2="registered" 	k="-20" />
-<hkern g1="Z" 	g2="trademark" 	k="-20" />
-<hkern g1="Z" 	g2="J" 	k="38" />
-<hkern g1="Z" 	g2="S" 	k="30" />
-<hkern g1="Z" 	g2="v" 	k="19" />
-<hkern g1="Z" 	g2="w" 	k="19" />
-<hkern g1="Z" 	g2="x" 	k="21" />
-<hkern g1="Z" 	g2="y,yacute,ydieresis" 	k="19" />
-<hkern g1="Z" 	g2="g" 	k="15" />
-<hkern g1="Z" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="26" />
-<hkern g1="Z" 	g2="hyphen,uni00AD,endash,emdash" 	k="40" />
-<hkern g1="Z" 	g2="guillemotleft,guilsinglleft" 	k="40" />
-<hkern g1="Z" 	g2="W" 	k="9" />
-<hkern g1="parenleft,bracketleft,braceleft" 	g2="j" 	k="-80" />
-<hkern g1="parenleft,bracketleft,braceleft" 	g2="J" 	k="20" />
-<hkern g1="colon,semicolon" 	g2="j" 	k="-4" />
-<hkern g1="colon,semicolon" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="colon,semicolon" 	g2="asterisk" 	k="61" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="j" 	k="-20" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="Y,Yacute,Ydieresis" 	k="80" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="asterisk" 	k="121" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="12" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="t" 	k="36" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="T" 	k="98" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="16" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="v" 	k="20" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="V" 	k="58" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="w" 	k="15" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="W" 	k="31" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="y,yacute,ydieresis" 	k="20" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quoteleft,quotedblleft" 	k="61" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quoteright,quotedblright" 	k="81" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quotedbl,quotesingle" 	k="77" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="J" 	k="20" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="Y,Yacute,Ydieresis" 	k="60" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="t" 	k="29" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="T" 	k="42" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="V" 	k="18" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="W" 	k="10" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="S" 	k="12" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="x" 	k="11" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="X" 	k="22" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="Z" 	k="20" />
-<hkern g1="exclam" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="Y,Yacute,Ydieresis" 	k="28" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="t" 	k="11" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="T" 	k="40" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="V" 	k="12" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="W" 	k="12" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="x" 	k="20" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="X" 	k="11" />
-<hkern g1="guillemotright,guilsinglright" 	g2="J" 	k="30" />
-<hkern g1="guillemotright,guilsinglright" 	g2="Y,Yacute,Ydieresis" 	k="44" />
-<hkern g1="guillemotright,guilsinglright" 	g2="t" 	k="38" />
-<hkern g1="guillemotright,guilsinglright" 	g2="T" 	k="40" />
-<hkern g1="guillemotright,guilsinglright" 	g2="V" 	k="22" />
-<hkern g1="guillemotright,guilsinglright" 	g2="W" 	k="10" />
-<hkern g1="guillemotright,guilsinglright" 	g2="S" 	k="30" />
-<hkern g1="guillemotright,guilsinglright" 	g2="x" 	k="21" />
-<hkern g1="guillemotright,guilsinglright" 	g2="X" 	k="11" />
-<hkern g1="guillemotright,guilsinglright" 	g2="Z" 	k="21" />
-<hkern g1="question" 	g2="quoteright,quotedblright" 	k="13" />
-<hkern g1="quoteleft,quotedblleft" 	g2="J" 	k="64" />
-<hkern g1="quoteleft,quotedblleft" 	g2="Y,Yacute,Ydieresis" 	k="-17" />
-<hkern g1="quoteleft,quotedblleft" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="38" />
-<hkern g1="quoteleft,quotedblleft" 	g2="V" 	k="-18" />
-<hkern g1="quoteleft,quotedblleft" 	g2="W" 	k="-18" />
-<hkern g1="quoteleft,quotedblleft" 	g2="S" 	k="11" />
-<hkern g1="quoteleft,quotedblleft" 	g2="AE" 	k="96" />
-<hkern g1="quoteleft,quotedblleft" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="48" />
-<hkern g1="quoteleft,quotedblleft" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="55" />
-<hkern g1="quoteleft,quotedblleft" 	g2="f,uniFB01,uniFB02" 	k="11" />
-<hkern g1="quoteleft,quotedblleft" 	g2="g" 	k="38" />
-<hkern g1="quoteleft,quotedblleft" 	g2="s" 	k="10" />
-<hkern g1="quoteleft,quotedblleft" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="59" />
-<hkern g1="quoteleft,quotedblleft" 	g2="exclamdown" 	k="58" />
-<hkern g1="quoteleft,quotedblleft" 	g2="questiondown" 	k="138" />
-<hkern g1="quoteright,quotedblright" 	g2="J" 	k="66" />
-<hkern g1="quoteright,quotedblright" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="74" />
-<hkern g1="quoteright,quotedblright" 	g2="AE" 	k="96" />
-<hkern g1="quoteright,quotedblright" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="76" />
-<hkern g1="quoteright,quotedblright" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="45" />
-<hkern g1="quoteright,quotedblright" 	g2="f,uniFB01,uniFB02" 	k="19" />
-<hkern g1="quoteright,quotedblright" 	g2="g" 	k="56" />
-<hkern g1="quoteright,quotedblright" 	g2="s" 	k="57" />
-<hkern g1="quoteright,quotedblright" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="120" />
-<hkern g1="quoteright,quotedblright" 	g2="m,n,p,r,ntilde" 	k="18" />
-<hkern g1="quoteright,quotedblright" 	g2="z" 	k="29" />
-<hkern g1="quotedbl,quotesingle" 	g2="J" 	k="84" />
-<hkern g1="quotedbl,quotesingle" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="37" />
-<hkern g1="quotedbl,quotesingle" 	g2="S" 	k="10" />
-<hkern g1="quotedbl,quotesingle" 	g2="X" 	k="10" />
-<hkern g1="quotedbl,quotesingle" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="44" />
-<hkern g1="quotedbl,quotesingle" 	g2="s" 	k="20" />
-<hkern g1="quotedbl,quotesingle" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="104" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf
deleted file mode 100644
index e6c158c2fb41d088aea593e3f0ad0bc96477da07..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 67760
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
D=6!t@

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff
deleted file mode 100644
index d0a1c2929b6d826112c7ff6c000e9f754c656fb5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21132
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
a?WTJ9k*nkSE8QbNdj2!*sh_)zfdK%PUYWoE

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 b/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2
deleted file mode 100644
index d28697491e0cd044a8df79d9ce005a6b63f20105..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16080
zcmXT-cQayOWME)mu)Dw@$iTqB$gzQe!7d9T1`<cbl8qepZf+sIGE!>NO}7$c+PK&f
z7@C7PSOht^8rv<NyKy&%F)*4jsW7)|uqd$hbFsI^NbmnDdMa1kAulXQ>BpbxYPZ$4
z-`-jLuTfgEQ^1VRq3K4^m;cXMw302jmLxBFA@8C5<``!S^F%%w?JU!qPo|3g=3{r;
zQF-NBsgdiW$Zy)`Ys%eE@_%IgwDh+@(&eA0E3-expPjzzlsNAJj<z|CxytpECQnz0
zSbX-~-EPfAw=}Nq5#sC>*<#|mXlmI)rQgi^&&qu;Ja9;|m5E7AiK(eUW9lLg35BHN
zYhIdF2fmuKJp1~?RqwXNKDl)Fj-FQKzyIGCzb(Fh=D0~`*etb+TGL`?Ri+85EAF!j
z?!1*zv1nq)qyNu~SH1WC_`o)sMRVd?p$qJ{xhyk(7Tk>R%a6akmSF~yHG_)AgVOfL
zTnu{{{{3t}|LnE#`!y-EWKZ*L*vG`M+&^@=SFp+U|7%~I{XgI8by0LoV1B*t#G>u_
z+Q;8H9eU{W?B*t&YT<jk*_}FkAJ|6ru*sMd2^iP2M4kPgaOk%E^Lsp3T5kE;nr;<Z
z&F^5O>Jbzd>aOkiD_~dQp_APfjx#PVE4ikXk=gCn$57Y$|0~no<uBM&1a{nOU|^cg
z`Qp9r-b1<kdmbrUEMT_J*X3Q`TfZk`r9-H~!iH(DI1>*X7VL8UqhrY1z+zLMzv|{Y
zE~dk(S^8-f$9`2PF1e(*-Rzrvf_=IDH0><S#s@-NS5hO~Czj8A6j}fOUu?ogh8Zlc
zoX&A=)3;a>vNWc3f_3;hrz~Mj^9|ap*5Xr-`-)oa-tzj8>&s<jPp^IW|Nr}}XX(qg
z?sk%U7UuWw(`<1rvtJ?`{9Ybg$auhz?}krG!et%n2TuB7-U44IowmGpb^q?avyU{a
zf8A)lSJiB)g5#wJy=C>iwdRZd+aF~sFS%BEE$a8?qD_-jB$HEAp7(8h>V7s<$|bU4
z#{0Q%<}$rtkE**+|L=jfRjey_lbz_Qx1xXF$gh&=Y+tS5{8@O1;)BL!b_a*gkC?Br
zvrbZey!_9vP)q&;%P%IzGwk0cptZ0eF(J&vL}ZHoLInq=hkATbiQ9jq)EG7M8HMYg
zO4^~lEoa(9hUr#41-h(dSIty8HL}l4+hTV<qucI$*ycL>QsZAg4qkKnu-i9|#nFL5
zw?LMmTKL|x27|3no5ilxYg^?O`u_Xo<`C%E5T-E6Mbe<paZW<PB*t5uChA8WWrUyX
za8T!%tJ3z2f35Fg8y|%Lmbq`wJBo0zS5yQv*tDmv`owTGn`zpsZz<cg7m2j_33LkN
zaO8CaTs&~W>7t|Y;SC2i9M*cUaDqC!{%WNoOJ15JtJ%EJ=rMlwTb%K+l)ibzPR_#B
zGLMbtJNr6zRr2X9ayZy@h$&{Bb7SJHb(2rW&u$mp5Zc=QKAx#>ae>P|!<7s+5&abr
z3{TR|y9g|Jd*tVj=lyvHw><r@|LUK|Kf_&Lux-14an6>wZ{K&RJ^aqKHTrrhYea9c
zp^T4H?vKtBM$&D)8@Z%JSDu-%>hW_saRU#TZO<$ezg(XAMT~#r(LlimB9nV>ixx`%
z-?K^X!DiMfz5Fcm+q>U|>qP~mZQZi_Ny6d34ZrV-lwURH{-n%ppAo`lwJJtT_l?4l
zKO1c)mN8hJ+!-8ix`^%Osa1#Hh`ats?h^agVJLLq(!oW0I;=0>m7S2-EZMovZ}Y!{
ztFGQ@k#)E|Vd9jlo=aG~XZ)$IGFdRg?CUO-WOs{uC;vB<fB4SM_2Qnq9P^(bg$lEh
zKRa93imuvrwy>?^r<UuJnJ;^%M?bjvvsOeWYsrbKn_JRl6(9Rd^qg1H?<Cr~((#kc
zu6Zxg9!wQ=U_G1jTc`E<!HJ*Prm<A<^KP*1;}vPr=etwZGu^{dH^0&P)_igEdry9C
zWM|KDcezv2JbS9Geg2nw&v@HcwCRRym%pa{;lsmkX<O@_CoGL;XPURrmO)(Vtvq*W
z|KG|G-9|aq+ZS2(uRXHlz}l<@N!H&E{&=<LxIh)FP0?yDvyJ}Szl+Va``Zx^UKX{~
zZplp@PRG3kXCgoBT)?>FX_HKwWia!WgVFLe<_Y4A!qxxu!p}J^temf!s@da~wCYHZ
zndZ7mjX8@FFMhG`n08p}@j~fyr;6k=W^Sl?_~X;_-UHICd{dcYn_YM(ZB5QTaJAuh
zr@u-pTceMYkdmHc$`LP(wyl3xrPOZ9n{$pKx2NUItH>*xqqX9fGbOcd64897@bt=3
zeIJ8_DTlRqkI8r4zrQGP`@uDDjovr}rEO=<vW`1hb$rg1Yu^{yMZTZ3+G=;a$HYqy
zzUFO?cqVu+S>At-?a}BDAJ5z_&ezwMSNn1%sr2lTJ!alB^RyQ}uWxFY8!ohX!SXk1
zJh6#e>e8n#eI%y%*4_26O#hTWpZk`sIej;0c9v0Z?UMehF^gQ)W2etLylUImyNgvW
zr`ZK?mfD@T_tY+q-R1v98?7}<U1N^K2R_W3Z|79%(7x*O3IWG&)-rMib2l3=xVxrA
zBinM((VJUdRps9^ZJFx9p14zf;g?cf<{c~MCB?)Z%z3K$<*ixiM!v{Ydq39;+<sew
z7WunoK6+TSDX=JsQ{MeZ>?vW7fW|4mo2RN9*qRjn+%7(2_GQb9c?>txPj~pGamFMk
zD6HULde!kzb>`nqg4M3I@8{dg8BJ;C=H36f_ul6V*6aS1FO^C+D%5;^KmBUwKb1gE
zkvS5Vyj%C|34QUdbAQ&9HB;)3ZGN5SR@(h0@^8-ed0UQFhwqX(_fq%l8ms;8FOMrX
zsWP~V^glWE`(VWFH#=n7+_t+d?+ZVwo_bK+XroHtBR41Woa!(9*X{|LdZZ`rdCPL<
z<-xG+Mf&0PmnPax`7+%otyekS`}~LHZ*~~2Q8cT5usPZL?1{6_|0_oLP5sjMU~6}<
zWV{obqw?gCPe0@%S8?t6qpjUsp7``*=b3<+*SC4H8!84r5*OK4v!vMcvx#?$Q2j)M
zGp8g=Sb`Rvn86iNwdeZ7ZyHNxe)J5`+V;3wXjby<m3?>5NWWI(y*oo=(}dpg-s4kW
zzfEyAR6H8gbtWzEURCd;DlM(@f1d;_`(CR%v`@UZxa0au2^FOSZHsz^U;4;w%KWz=
zTG4&qf1A|pZ-u8X@M*W%!72LkeZamy(V;W<e>=0uV}Bs8{=Mq_x9V0_69oNNBn5_E
z6=Phm(r&}Hdqv5+-_P79(=C&i^Cm4L%f;<rg2YLkzY}ENcy3%0t=W0~#8XqB1wq&M
zPcB^H`KKf4*JhnJ7ymn+uvMP8()dpBq>1@=RV3yc<<C@nB6(@H-{I6c>6~eOEH%4C
zTwh%4YY|)c#@lAIf~AM@NvqJyGuJA5&b4+EKW1Sz>sGwUk4d!=C+|&CS@E7rw<nk-
z-G61N=Ue~YJL)U#UnkdjMgB4CZJWJxUD49dB^T<}AFqzDmD$;sCB%Ku<63e3;+I`o
zjIq8YZ$qZrn%uefV)JA*PTmh%cNlCQpZscS?~xceW#>=r;Bea&#;?6D%0}19%_<2K
zv0CBD<mJBY)auf$-uucqPiJ0{ov`gmtAqZuK(#e7kDfX2pIIV(R^x+5!)^thM}EH|
zp9HU!RjOX)Be7iN=62B}yExnOi*s#^f<I>7JAdTV1*1P9S9QO<c)nhzD8aB-FH5C*
z_0vq<<!eiSzGx|NpApw}IFIRbVC9D;_LYKqm1bV5sYj=MU!50mFKoljye}sXOU>T(
z^MhLA`zd!tg<c(7+a>n#@wC#MZ(of?9*fGq`X6HZ;kjJ(E1}Hr*Z2LWZNA<iZ#?Nq
zw|M@7JckeVe{xo>yd2l`wf)MSpzZ^v?+OLA*<#qttPZ_B@BA!M=;J2NS0T%|5<mGc
zH2!+$z}?Qx@iZ-cOUWeV-eiViFKf2NGPVczOI|$Aa%$%O%TwBwJ_w#%`gGsPZTuBR
z>o(l1KJ2qTIc1Ul&*}<^^n8K$!op4$YBqoEHs2b!xm9q}>ef|3t#1sbaNlWCed)8N
z_e1aICr_S~mqjhProZc!%A#8$J*lqJJ2tLds~mk+=f#&QO@4(tD*_iEI$eHy&+kiu
zOU;9SU+Wc{@pg_><hz6N?l131Pt`xR@XAU_0nIscY?7^C9_>({q+t5zMZaqS=Zhw;
z<l~X-KPGDD_{<GDrm@oEN9&ug#Q}~E4&pW$*_KtW4_6q>(f%{#a$nj)<&>IJ?=}7|
z`)Ov`uz%B4`v-bv7k7n}zYMc-WSq+$H(j<+<BaL#=@aKnTeWcZ`gzkfr<YG!92%SG
z;cGiJ#%a>r{J4cr-0YssE1G|+kuf#$`HAypXO>td2Ni4=U-~2I`k%);v%VgkoVe+4
zkGd$|J-eGXxZ{h;{Pu8s_I1ACF=5#|ZpW90WBaTVE{Oy+|7e)JK23i4gI3R7Rtohq
zE&p@8=<ae}u#1=Xp(bPBdR3>EP6rpkrjRC;zfTO8dMQux^m6oFzC?Dzf6t5j{R(0U
zoSthU3LkM8EO{VsVuGuiXL6Od?7@#M-0c%vtThA}cXuq>mTYFfG5&i~mP1q{#|_5`
zL0y-R$I9quIh-%m=<w%I(n!pEpu(Tvq$Ts9zVwcB!D;COHXB%e%-+KNCi%7ZKIteE
zo^=u&LK{M@7>W-#+Ws%lJdj%BaHeEhRo<cn0;-7~$EL9DIM=5A&Y*y!cliptdA9$n
z0)!?msM2Jb=Hkt9<3)_Aw$5zXIhG-frHi}_8U1opruF#Rx?I-Sz>&}NYyU!v9`+5g
z5dwT?rKd{l@KSARlM6Ic-^6%1=&Xg;<1LkZ;&;Pd70=IZnD<wf>Dsho8V(Mu4yi89
zS$9PrW)`_}#hhH2sNJJzHN_#-)K|oKMUuBsh=kU{Ef<1Rwp*2dWmwSqFs)EL^7X&N
zp>xih@Bg-lL0T(NV96rG?fsn{%Qd@}bZTsz<fvTUQl7)Mf68ftJNk<pHuOH7w&GNq
z&P^4ugA50g5A$ykFF$IVdv}7EYw)u0**r6X`dHR)U(nEWMf_iPZJ?WL^E(aoob}HH
zmwi|s%5+WbT&bMA|Kcal6RtJHT{)D{c>cniiQ8J2pW@4z#<$Dr>X(-FY*o_E`;yDf
z7PMywZJosBdd+Bw-7m(4tD0U1Y@OF(^e}bWrTK#9?O6;u><=1@eI+dPc1yP=?`C~m
zlyoX;`@X8TA+NrCJn*3S=Op)2|EqtjeJ=e|E9pm)PgrG(P;S{yQ6Z^cNp+EHH_xuW
zS2u6*f4#%+_PqT)zu5i8o6Du&9q-s4()WuvyJ#}Y_Q;Koj&(0>ONe;aTp^n$>pU-i
z>54~A&IWRA{h8avi=6*iY&zV$`!26$vd?9<&AVURT>a+z@n`jxDJ_%Po~yrH>LY0T
zQqSIL;a^Q3w+iM}rXRLVXZ5P>e7)-k$Nc}t4=%3Ko^;=5duz;<H9w?l7Ei7H`%H57
zlE9}s&mB7R@XL{_DIH917cHD6EjMp!xLdF_HR;in>-m>$YNITZwkvmP|6#PhV5Zf*
zKu>vo<!M_MktJynmO`tqKXr{@JN9%=%6aV#Y%+%)h6?U7SNoo6mNL1@>mcujXQCPF
zrWRDQiuG;ae*EXl_j-GU!=lO@>oS=$9w|+8UbUAeYnJat_pQtg?MfXk4=!E4&B=Y$
zI5v6}lZNPi+no*^A~jhFzao#Gx_>9}@m{M+KF#1b9^JC)xi@Th6J+v5O6ptW*kh%G
z?v}0I!n=w&*IQaLSMW$M&&KRsTlMaGH%w2vbhFKjNpXhDPxY{q-?jhL{4)tLn<TNb
zdY${f5S5RIJtsHr6*Su7Zf^E_;vC^ECVNt}6W#VYz0#^`DDj^C$MDI?ob`6@aawv?
zECi*OvmHphsp{%b-{-qL_@qV4sfPtk?|LuZ@b#Vd>AcwPmxs4|dz5}%kWqTtQBQvU
zeYY98RW<A7J=XXhf3Fbx|HZ~urL+a^>vuZ;^WPnl@pLJ((zD)H!6^?7WH!4=bZLGy
ze7$hfXGP1x{$0~ADje{i#O%u8<UY4pN=<X4vFO+4r%Dz7&U~L>AiIC}tNq*lrQFRp
zy7OCNPkzghtJj}wD=lPMHDmvT<(Go8br`=gpVEA`)Xd3OSV}j0bpWgGU$qF?myhL_
zYu$J(;+kYDW3AV2{pr7`=C)PFY@FO?bJz|Per9{H^i@Tb8K2w5DS;_wFF1Ynuh&ce
zaG~tv0-jr^l;);qy!CJqzc#;hT6swRi}z<bj(io+xe;PA=Xm!s=ab<)^>$246g~(_
zoDy_BytrdhtBcdhmZ0Vk-yoC6ub(Z~PpN*eP^4eL_StJrd4ECO4_|xwpV#b}@M`IN
z&kfD%Vr_P+%TyMn%=6gXp_BSI^yYMz7_*f|$v*4-#W%a;7M;*3Sj(9{UG+v$x{{{o
zQ*-&(r>4bRjph9AUwzBOSa<d*i_Mi0kH3iSRQT`wuwdWJ?^>Gkf{xt$5H7*Y{O*j@
zk^7yoAswx&N`l;eM&uT<-}?O6sbgZYYU5v<#5vO6rM+S+?Dr*AJoYjVwy6Fzcd7g8
zou>}gdA*A5x~hHWRqGwcyD#Tnvf-;)n)cK!XRU^Yzc8<vn4>PY^{kh>ck^Gp_`^8u
z-JZ!>m6EGNmpytrw?VyK@Qk&$i6`Ul<FXfHHd%i=ZS8eKUS;~!(xe~*X2w6oZDlJM
zcAIm3IQ>9m&Q`IaH7`Cdz22Q*c>8dJ6Hi~elu)hsJB#4C>RgfEmt}2t>0fr#WZjBe
zM-Sh%T^MQ7wD!pF@~hL|h`tevNMA0#|M$bY?S1|R_6}Yr%O+l8_;#Y1Pxaral&Xon
z|F#L7Ua@@*OUZ;3aWh80zSa95`#YU{H1`bG>f<?k?|)92u&_d6Rw0}C>kmt&t*g#G
z=p?)2(ZQK~32c)D^^Mz>HAr)8eAnMz!sxzXe{I6&n~GDzEL^T`R50)ElPM~=SAUah
zy1cJ(i2>W=GT#^X|GYKp_|E)Qa>|@-I!E8y&9~G3W)djzI$U*1`q7T7`?qYjJC=8-
zsy6qA;O@^#@)I_3&iZS3*~<H!$FXJWUWcc%N9?`5`;Nk`*LQ@JG}bEIn{n^vi+bZ_
z4V;BrLh_bJ?QhukNN3%>-^{1ZFL}eRF+o^d;;%~5!{|K5OU_mE!sEP*6Yl*|vHdAw
z{Qp7Mb<@6_3?Xp~RoCxVws#+7^h$9*Cfp<<9rV^vge`TJ;^T$$Sw&{KRyqaTe7x_N
z(BjDtIhYK2wk?|KuNMA6Vt)VU=GjfUJ)crIpIa3#?tCE1-F@cXq}XuV3%nbYRwzum
zazp#(>AtjP4TrpMjH0HyQ|13|W0(7Aqx0{?b#?zA^Cmgoi~eiBO7?Es1LyeqCwGsU
z-t7J|{r98)<u;RMZpk_PzDxNA&-M`EP4>;_x6ZfS!hbz|7xT6S4|rDpvN_{?`Szun
zvg^^my6vjp8cx1^b=ryD>!;eS*l0DsM=Mw3N8-Y`q;ffHk$b+oboXvwa>V<$PUCsW
zxKHf*7N;b=BqQb=@ceTs{Yk9kn-lY=TjgFbE4>xD^ZLR|y`EpD%H0+DvTA}J2cLo6
z=L3`c70%}{ar5quIJ(eey7epl)hSt0r74jy?0fQeRK$s>PBPv#J6Uty1@Si-?@r$I
zQ_ZnhR^OI-cG~aBj~Z)(#1cM*Y~?*;__RaptHyH1XGbsl{k$u_?x30@_l1IO$DCwS
z4scIh;$%H*(X1tD>#}-!goSiUufE}UeL2u*m-dbuqCwvj;@Yw@9$M6Qad2OJarTB^
z(%%(#el)ABTJuh&-n{o>MB?e0bFW{`RD8hw;Ox0a20b7DTw2wse#7IPmHrp63xCi4
zTCJ5AW_Cz;Ui<08e)T>pC%@rnlD_&|@!sUg%~R&g{-MPbwaxk0nwC4cpPACmRo>3B
znW?!W;csQr@jnHZm*~FJ(^;3XCUO;XLe?Cn*$?AtJDb09Z@PQn%8y3=q&X?&b>*8~
zbQ+I+UbK}b%yZ9`uhY|S9%iw)`L!x%;l_hWpS|_|%G5dSpYeB9k!$}o;c5RGzAEMD
z+}~F=bxoS|_gN(sd+pu+NN(($tsL~xu0uq6=gQgh%HHvLuK)1Zxpw`!mAYI{oa1MU
zE{n+7RR3bL(7eQq-&}K9?^rYZxoh`zUw_Q&XWx0u4(9Xyn%(U1GJ0C(pD(M#&!iuy
z4{G!F-oNLQwQj;vf1{?S^F_H&FY0QTG{3WdNmhx<WrKz)CZEUcrYlywd?j$mb;Hgr
z8|VGLJ*)l5!RFYxABz@kP@EhWWdF@@e{iAUqAypZR#jQ|=Vmt6dp_X)Uc6*gqQxQ6
zbtxJ@VwL3@BrfqDy0-g*!fNLaziylouViTs-gKty+6krfSf4eUvqh@ggzkS#)_Ik*
zgn>h|=ZV0}W!Lr`yc*oZR-${<HMAhX_1;5~d#NR#RKulD?Q2-Q*21j!q@G<-{K3WV
z{q&wpdRchkzE8*cnAux7w_TqRBb9abjm7nMii=kSeUdZzvh)I5#;Gr?CU2#+`)}Xp
znwzF{`nXB^;y+TCzd!tIqjX2+8<$Xz@;`|?8nHXH`)&4bxxY7_FIQvR+0T;}wD%^c
z2s~(G@AtC#;NEX<_GeD_s~1@%vs`99iOP}E<F${gQgSpB^k$pA!%uAfl1XOMZ2cUC
z+*eKV;$`!#I{R`L=dV{&o`rL*5PPf6wZKvN;>~pvm+nejnJ0Dj?LP&Ps!InR`AbFo
z`FQ++)O?4g`KmLHx^1_xdtuD8UiP=vp05YCL_Pfyu;69xKBwE8V)s;Z>`<*{yr>Yc
zv_7i$Qo4R>=&f5@l9KtO-$v-4czJ%e@0PzTulJ^HD*yh=NVj@(-uHUzy8Y^NA3Z!;
zx$o?@@B4OJ+>~SOTH*TXZ@Iwj<hyaZ6*gEFY<aV(k7ILb;z^s6of<tG%l7xa`4RP2
z@6?3A_op{F)!fMazjD#;_p|P0Gd+Iy>8{A%ZQ?V`T{;&QnphrB=4nZlFq(Q;BTv78
z=Uhd4d7$yE=EAn`RSpLo@Bax=U0~XB=;wzcCsdN#zM8ygvB;9&a7!pcC&$xemXqnJ
z!udNE>lH2do3?1hEX_3)Di0X`g$Obk9nTV2pW8Pjrmk{x{Rt7B4{yp}J+fcisg~w-
zWck_CDU%ljUOw0UOfKNKk;F;kXR{|ui7q<FJ@fAB;%eicC!)mW<*dE)Q&wQh?>EMg
z4t@t_FU_b`G_5|CZudpQOxk8b2mg`2xksHNSEtCozbIMSQ?C3tUF=uFY~{j#`yUn?
zwI6@PeY51%s^8M$$-&I4)Hl8AoPRh<gL~=J`O&4_({61@dnfTnLjT@hF?YFjF(N0n
zb03PnX{mnk2<socnWaW6CO2_PdGu7f{%aFUkYHK(QbMD0lJbT_0!oz=qzoz^@=EFN
zacpMW{i)&D|B}dQn=%wxc$?c^&JPQ+JN|Iz)5p@$y9zmH)g00b@MsVZbkMF_&9265
zccNp-cA1^mnv9<^#+*Ks5_{V0$hn{i%M4-z8QVLG=Wa68*3K}s{4({}f~Qh?jB5&(
zUA_?2ps5z?@<eI7hfjcmkKp8!21!Pe*9>%f*hD6tYG_`5HQ4EqRnp8Z=gIp*{ytOg
zxBYmfDSck`Lsb!jj9Z)UuWs#Bd(U9~-OgN!?bGC~UpQ~i{NJAal6$>mj@5SSe1SL9
zZ`*v?eP3JRmvu-Y|4jAhuw<s04h^n{n4aE}7G~jBsQ4tL!6e%~q0yC7L?Fke!EK@5
z>q>^qTRVG8F6a9Teqrn7;x_IQS$4B{<`#LiSjqE^%E|wl*%z*9X^g5{*zsL{<FzTu
z=Nua^2P80lXbCcLs+p@Ha#(Z=`_jXc{BEpY=W*U=dHS0aHK&)AEa7*!r`U_|^SynP
zwXj8kd6P=PO81{FA}VL}AN;(<e3IR5eVJ^4K@$si<H_HN2b{7>pE6(ncds`|yv#%4
zxPk;vljGuvLNDYwnHZ*DJLSW0?f;gavH#gJ+78cRUQylfBWCgeE1rn2Pgg%levzTC
z=(lHMnUZ70%kTeBM_&qEe{Hj+$1JZd1=q<MDps1UDk?iYwwr5gssFcyHDbGQ+VS1&
zmt2A*G*?9_9NC`tYWphwSI6u>zsuIo+qdJ}EAQv?cl=NI_dDHx|B*Vbqkdg{|Nc+x
zVw!NA;{s2Dtxdgc^iR&*r{!1v>sRZgc<D@a>+kmW@JUiJ4vtuv!)M-m++Uo-Rr1jp
zoz4)oaE;Kc-mvB75}SQ3cRsV}zM6JkUqh$JqB~YKPeL+wYg$s(?>p~oe}8*tU-9FD
z;L<)h`?5z*UT#i5cXs~%nwO_SGi(C_KPO&a_iUH{v}=cM_+~I~KgaaopQ^=&lGI3L
z27WzzeOZZnMW3%VxBH9B+3tIAjQhur&!^AZwZH2>pYY<?gI!mp&GMr5S8}Q4=g)4n
zULVC^!<rLfE)vpj@4((+uF!Vi3unX9Y=$+=zZdSmn7S~b@Y`)ao|2wkwl+S7xZ^p7
z3O)ChXfU4@aeLUf-h$ubV6sG_$s{Ld7nhPVE)E%dGMQcST9doA#0@G=GqxCrv|TtD
zu=m_G;a36;ItHv~|5g3JqNvd#DyMX0ujYiU+Xbf7RBqTJbN1QJuYp0@4#t07%~Ix1
z%6_+^D56x&Tgq5oX7$~G&IJvITg^mXKQ7pM$MNRo_0|5pTf^=jw|k%7EVrZl;G-Wg
zS-e;LFXdPn9AilDn;>)A_M68lkE0$D57w;{OH(Rr++!tu>NK0Xckzeao3`z4F|c<!
zwR84N1CA-#Q>-fe`#$_Enxd8R?-+~7in5hKyIwx~c*EUdqLt<D$=!F#=P@un)q0<G
z?$(vVtaj`&0k<8t-HBSGQf8i)!z47Z>tp4=t>zBR@e8_dt1K?>Uc#};M0wtqufEgv
zKE21VZ3>Ib{*2%ge=Z%F&bG#J>8iOqxx`L%+U-<4&30bHUie{@+lL+2a=WiL-eUf1
zw~ML&aQ57*cY0sE%;@gZ+dSFI<M%&bp@|nnvc4#tKYwKJzVy#>9RU-M|NZLB{8ChQ
z<xAfAUd*rdIfb)sI?Y@+IsWst2NR^8PvthWvr$q1@wCk8W*dh!=U3zH$Ck`hRCaTi
z(7|ytam&xY3g7uYh$w$>Z2vL0?&l4Yht0>%W&M0>=`x{}TeH8xO6gtmEOjZXyOrzT
zHJ2B?s$)so8r;V`^YqnI3wLfkKmF*U9DPZa6(Z+1B^R{6-WSaDF>kieHvI?J?kzcc
zI-`C|UcYIDX<^c0lfOr5<>mKnbDzn2kGq?Bvh>ZJcW1Mom7gT$HuqB9{@;~BUmMtM
zWe+X(|J2OBSo^FubCtOL(sG|Q`6qJZvTToKzn9Pty1KrWTc#>Hb?F+O9jq-^)5NA6
z2@cj+I%A3sb5`|@iq&?Hx2t|BzY_bu;l+#7=ce3g+?8%|?Ww`!kIFsObxptAvdzD4
zR*zjO_ay)9GZp5}I7dU#MLk|hi;hRJ?%UY*h56*H8Qb><AL-%aYklnEGe4|umcaLr
zV~cfG8V4O|S|Px7X))I;Pw#B&>X~U77ON6xPH9iOvSOyq!l#GM_2$iNJ8Wb1R(0MX
zllIMNweq&5NB+<BYjw`q$-IfHa?&l;Ukeu2ZdX{D-)1Z1|3f@suW|c1&kHX)GiHP<
zr<A?9*2puZ?^)seJ3C#TE18FgTO2xh;>*$Obtj%4yZ!BHmfV)l6CRxVto?Y+J(tUg
zn^-Lhn0xE5?3%fz$F9Fmf6)~Co^!2hl~{M4Y;safd*!pyYSCS>W&LbFEAIT(?A(4?
z<=A#pmxq%zr-%x@Rx8}|)AU;ZWQ#?270Ncu-_P;8#<4;u!F|HZh4HM5{U=^j-{$*$
z-V&E{teYP!$XyuWW2Bg6_w?4ji;GP|X3bF7y(_6Zy>N*VON~#j>7PKQjN%N2(p;-|
zoZI~~=j#WG884lExZs)M>|f`O@1Jnf>ZW&evx&2sk!$Wu*{{}ojFLLJcSTNbd=q9?
zaH8ih^FFx`{qY9;D?FW|Bwuu1Y4Ck%nSUlgzw5S(PoH;G$^_42yCZWp$;p3~=KDRt
zRpb26+?-RlZ+&GnpZDgUxGn3O6|!&LABCq(S`c=cv1+3Fgu*YY16B&HEL_EU)@3=L
z;KD$&()8(VMOl+pPSojoWAk0}+10}O2{qs1TBZfp7O_`fdGhSd?peDd4cWPDKfh%*
zpBFFrT_Mgk%hh8-wXbX3+c#GxTQ|P=|KOj-I+<pn)-NUMf8M`bn3Yx3*7j`G@^i7j
z1iKR7?5*(hna}g-;_PWhv^^jB$<)7j*k5KNt|9L;b9w2zYiXuVhi@c%<t;y;yiI&2
z>+TxIHGHaP{ua%aKFue@7`LA3%FlZdKi=A9WPMF5f9N@%!!2*^jVoK<ykb5X!uv?;
z<@3!PUlvx&zq{(l@8=(_BfabKv^2FTyID4Cs&*avE3)o(pT5s|?F7dSMtc_9e!iW|
zoY7+aSdQH*z2g+$aYI-4^YgyQnC;l#d2Y^*54Lh2_#Pw#cD_<Oy>5!|(cACRM4y`<
zFcO?RJup9WUan5t8)0An++CkpuKG3by}l`7#5GU(_R9Qvht+G&nw8irv0v?#X}QsU
zNeYARj8$p&UM69xlV3jzZQi;szV`B}kA44d-#=cTW|Q&Fr~KHOS)NrFHk(C%@2TF>
z*LU{4Yq`hfD_alTt(@iPx$My$t-3WvVtdVH`5SGgEcQ+Aeq0+PpMBJmr7Z7Al3T{I
zg&TV^FO-VxIZ-f$)yzRa>ee*Xyt&Kw*Y1A*YthN~3b&m8cJ00Cu==4F&%3S18|SaH
zSjfWE&DPG(HPzE^^F<ch7vWb#b9CoyOzu)P5<KO7eV4eT_Q%Z{pQ5b;Z{Cryp7;BJ
z*~G1SDvuleih{)^ONKbzRO1q`@4CTrvU$t;9>v){x+?p=xcYrv6`S+cfM3aGLf10m
z|4bi(R-Z}f5&gTR`)P>dt(Prc^VWDAnYM4vAJ^)D=XuWp?#rFJouTsmXYcbT_hcuA
ztr9lAXRff|zQ~p9&n|oCnZJm7a4+lYo_Ut%zZV&Oytl7;fumAIfyoKuSmF5g%rh5{
zEazl3_KQuKt@X*;E9B&_#&3a3YW`o9Jp28G$S+s51o?2+mwVpdvYe<X?4y&tEFo+2
zfez*RO^&A|H#`k-y!o@mD{R+9-_rG2ZtYr+6Xw{;Df$#=pA_E6uI2P?`}@Kp_acR^
z-4j+Q|LMX0^ExAQ<(-pudDEHIj5W*>G~`aXaRlpbkf_;Q=JR%5dU)=O9rc@^Ccbr6
zkp9-}=Kg5ay3p?qrPbSY_`S3?NO&A9I(l$%#Oc(Gu5+PJ+#b!@c=xKIcUIZooNz9?
zf9sfUI&Q!J@!H+X>n?_Vut~h)EFfMKr5B$!>E{Wp{7z}TwFy7ngt)H%>=g7}?0V_@
z3lY(IiK^mUzx4bx9PcdjtNi11U7@C<NweIfq9Z~6y72M7Ef)9g-6>M2+_y_h{nzcQ
z=Vdgcf1c=V<cUm7X?9Ke-QdaidS-Qw`Q%q_JL}f#x*BGgwV$~8^2?H*dmA-cw%=cP
zB{I)k=6zR+?Hv`@%WaNs^U~i<buftB)|l8F@V5M{`hm$jZ_ZBp`1^j&p`vR(-*s1u
z$nSJd)Hmx6*#GbH6Nd^r#dc;Z*XTt#FK+6Dt~tu1|GJW|jpw1^AI<;vlSN*6FMOoA
z^2g@tf}(tj>u+729{w-$NZo$oc2WJ7E4ABaKTh1PW!v!1|KT_5TC<<^K8Xh;k4G1u
zTEnNZX{&qWH+R)jGgFLsUYyeH;A51TSJBNO@Me;@KxL`u5)ny`8SC`DL=yUp7X>bj
z<vH=}<hh)mRyxAGHGKEaZ)tGW-p>_#(%5m{$9X^Je2My(edby44NFtuke`1Jg`O%2
z_+XN%W5Lliud=VXY4I1S_4PYU3)<{YEWXvu_bga8(L70hvU&Uc1q+V)Y+biDd$Cxn
zt$^I0iWiI@&#zq29Q<L^!ZQyShJKTtS~;^Q(#n6yS?>)hU0+_#RC~QTwJ_EEe)OEL
z`d*JbRC2Cu-DBZB>BOX^n{GY5Vf2Hyt>kO!(p|e0V`DRKs@58w-`E}=aYp;j=91FO
zidBynTEBU}|AWx{==fR6LAO*iJzJ$Z@69<Vdg9U|?KO|8er~!}v{SXrK(o;4^^_v{
zIyKIV-9=}j4{u)4mamefHr2;FrR$_yYgXpoJ?eAUdrrIIQ#XT8tdG~O!ftKVp3kq$
za}{j9x!dmhHLKyE`SXfzO*eAS74&mWa*r&0v90Nb$?uqHlJm^&>~`2+p#SjqYnDed
z`FRU>>a0J|w?I|7abfz&%o^?^wNl@8_<nsn_x{ONRd21AhUym{ou4Xucjw|S4{ByV
z?wkAKqT%Cdz0y6x$@%|zI@rALgd}8dIrm&Y>)$L3j}EJ<q_<1o=%j8l3ZM6V*U^{T
z#HP<k{^xl~b8X%)L+edXGHq)5-fs}gx&AE7^K(z+<nBV#qrY_K1u31Hs<nM)kKbbJ
z@XPn+Hq=bco<2+3yRp1iPH?|@-7(kl*zO-s+Sl)3N~wKg^n>Gm+SYZ~rBA2y3GFpJ
zzs~djtHl$J?AY=DcT~%^UtLAz<<bgwd~ch@$yo)>yj)Ncl(ur_t;HwLZ@1F&%9*OG
zB^CcVAnU2wRM)46!e;M&u<7{Ln*Wn7-q{f<$UFOt-MsP#>NT6To>91D`Nbo!&G+G^
z)x|P=v0V43wWM^KIF-)rj+>!={^9B`l9^tT)3;Q=TrTG|Gjh7$PSeo66GaYiWlY;;
z#8v!2wRPI@u7hE-t$AzKIxh^qp>ZbW`9;sl$zdDBBl0#zKF+(d>*J>ffiLnoU5s*G
z>4(|`Fs_y6-?1k%t<UhT=cVVY&N(W-szns?m!7|r9yk4F!=BDHYICd4x8GepCvj)E
z+~m}hZ4SrG(_{lAy027*S@y2^_xf<b;%`!^IvN!{MzS(2&9l|?WABuH?Uw(RV^dM$
zoc=m0)hSBKDp=EN>WU>hL#5ATcE1SpdXxIeqcF<R|K@>bGp9=1Rg|S%p4XhrdQ<a%
z)TLi_Y1}Cn-RnH2JlUeX`oX0Hr}N>Lcb#+=JbGf6{$4xz^nbdkl5t7B`Uh<bSFO4_
zW%9ABzZHY#*o8ln(a61f<4)C9|3D3$cOm@YCa-$4?IqY`_m%%j`gP{#KdH!Xh7<2x
z+K}TO@c!McB;Rv_n}zQPulMnjojG%^m0_U!`k0&hb4!-|pE`BwgLx}D#s9t({k%xy
z@j=@_QT-1e`o4=f>(w1S)0!JyK1Y7d#Z-CW)7;T)Wh`Ic=IN>K*=hUEE^H<9cb3U-
z)Qr_<Sd~A!IlJNa4>v!~xrrv}99t~8&xmh(lXdE?=^|t4AMgMDx%+L4`rgBr<;8nf
zCr|z6HFcfTiDhBulv1Bux|+<qsq@KXt{mn=a`EO;`|G9{_a%J)F^}ati}nxMw+zeI
z`x@z;XKA|T>b{pL{DZwu?7X=%XT5*bXL;_-w*LF??`_UnQ~mt!HIr?x?iuf2zxa04
zt5=$tablX;D|IeDc`_~Ks@Z|=4(7+-*NRntT3v2YJj?gtq^dhFS_@;}iwZCP+`HpR
zS6$JID^dmiF_krEX2hp_vYS1ttZS#)QLBow#mfvf7YNk!JejVS_I&%R&!&qq_Hchq
zlzhD5tzY_@UHc5y2TtDWt5kf#Cvwk;mbb^#PESg4*&3Ibquu=e^}X)z`(KnQ98!OM
zNVVxk)LoI{V1G~FGQUXQ^UIcK%5Du)y3l&~v-;zeceO8_zw7A7zWUJG>|NnYY^2(Q
zXCIGz=J<%sUR3CsNL-}lj37%3k4XEDEv{?wjrrC3`-`pe4G*uL;}KY~a?@imfp-z-
zx^I@6U*Zy2^~mRL@08Dx<!9bptG-iV`6&8!75}?O`TfhL?LC?M#kpdu{nWiPi_%5-
z-<*&OPW+RSvOcrYX2*7mGNIoZwJs0dMhHcFhI2P<6PVXImv6!(^Y2E>t0wb&w{+&H
ze(_yj_rYTO#m;jo4u@R%5VoUNTsk%Aa>czorY!H>2M?s*JnCxss))N?@0i6Fu35WI
zSZr5Z;H~Ht%fGN<su{EH!o6oJ*q`cLknFn4yw<z=y4Z!S=j66~-=48{OS-UW(udGX
zwx3-8&p50gn5QrL@|0C~?7D9`M|ZlFs{LuzUm^P<D{`Bf{loWlQ~rh?yIo@Fw)*O2
z)0;P4mPRbqe5qM9JG!x<{A>TVxxaTGOe)@fy~R~*QJ2^4qAB8>ZqMdFeB(4XSgmlH
z<4spd*RGYp-KI@9rd$qR^p*Fj@0VrWAC9NHnr3ZuIqJA<r;J{amHX?ml_$B2x1=qO
zdtJ10ruVFj$i7uE%;5@e^;h0Kd-28eRa@_vY*lk!axwjD`t+>eExw@>=f!i*6qB>K
zm&TE6HrX%q#S^0$ZhdYu7I^&FCnlpWp>I$*h07^{b*a(>hQRp~#GcJ#xv0K#Ps+il
zkeLb#ngwnMI=tXeDaoi*=WwZaet0I%(%bJYUukW#L94i=nSt4Hmg?NB-z+lvFC=u`
z(oL_p?Bc$2tM~JrlxHDxO?EGscF?5Aw5D_Af^Vq|tGAjJAJU95yLD|}&YBGx$F^<1
z`n<HyF78s{&Lzcnwq6P4aqZW?;5x%;>$2N?^Yslm_g?!evrDS7aY6o#qE`tah1>L&
zPhQs@b=LiLrg+}JJGKG+@3VhO#8u`^N$9pRX}`O;ZTrV}IWOIE+d9kj>{jLRKfY&Q
zU-J3TkF?%n6`Sg}PPpyG`)RBF?u5R1KUmZ^NItZTo3<=?=}XNjo-)(gvr@mL7_FyC
ze!ZW`RMWNn-FqR&MMjnDrhIH_n{nZ$Yr)?yN~`-ecD*rD?0vY)%I(uh*BjgOCZ;}R
zo!zIrsaZb#Rz;>+TxrBUiHWTdZ^Yt0t#VC_a|-ovR29nbGCAIO|NpH&o~t%i8%jrh
zI~^5kUi_*1?*64wY<9C;`pj1rvpak?*_6<=U&Vak|9fxsBXUn}`BW~Tymzya<xek_
za%-11*LT0BpX2Vm;o9ANRM%<hw0D*+C$~<_Sr&0#a8{V=5`koie>Fne+K-*t*?s4%
z@3O>dkD7Wn9>K2vf0}+BWeH{Jn=rrW%ya|)^~_xXOP5ym9hsG*60LW%xMN)?r{iPa
zX-3=Hmi{SMzNqv6cmJo%dyXsiE;@E@;>O|yTqpTtxFd~xC3(3do1@~kt#o>KSN-VI
zFuyk$8!E4r++X|t)aR^4CNBcStBP5)m%eDM%539|<!|y(-X0`l9OgG|(cweyqM|4N
z^=)lkR<rL_T}z0{Rjz4QuGG%iF@4us+ih`c9UeVW+?yJvWUPH9t+OU<)q(y8sa=sP
z@2m+sp|UA*<{$Z1ovixRC)L7dyjiQZ+ljCL`@6+&g5N9q%bRVSb6xn&*%LdD94bEd
z`pn{GlAjpAGM;MO8zA$k<Clin1I4e3B2zEbSx@nge<vpSZ-#D1_7<z_aV4I{;%%iT
zRYPvI%$(ycu5q*Sr{)2#K&_=!oZIW?8a&MwDz%xOvyA(S%(J7lEM-yixbh-AyS{&n
zZl3pyWB=oik6KT5azA%#%RMJNIX!LP&FX@RjQ9VR&iyE6Y~nNR#i{IW9n+~+nW<;5
z&*9k{x$g3fBa(R&&x=Ov?Mw7}w5zhzB4lFI@*l6xpINnU_eHZMh3ws-kq>e`y3V#-
zezkG#moiUh+uPM;+gO)XA8<LmH|*D&?+o8`ADHf3xa?fk>Xqgat6%3{d$nt8pmt8*
z*Rt^acemb?`8n;9M&zZI4Qotx*&PjVeRAQ2j!;fPQ2pXVe^(zh@|5a-dOm&XbTiMO
z*yR`VSL9vD{IKQUJ=R;T*M;NG|Mz{jcg^y%mm2n4?%8Oxea_4;Mtzsf4^2@CxU4!;
za^XM5U(R!ryIzY}Y&>=B+TF-?OQd;jv3Q2;nj-35*E`S1@Xhj+(?2!6WG||9dtdH+
z82$0m!?l3{B~_CS&RLbZV)6?kZDrO{fw1%oi)!m~z4<%$o;u8NTIQo^i>C_vEnj(K
z`#8P#5<06_zt_!9c+>Dtq2|Y_%CDJ+k3U?fxaaK0Z4rxnTpvh0_>tCX86@s0*C>De
z>um0{Ge2h}|2xzBMQGtR?*+c8AC1olGzQ+iwRdxM_3u@4OTL`jpE=`Wpy}VkN%PKM
zHre+z<wNKH75h0n4_&jJ9d^qwl;i#x^I3M@7c1W9uq9OeoN;>pnmasuD*cn$R&R~B
zpFQmX&*@s>)90*X^Jj%i9&Menal(R&8(&N0$6cI%Pa?~1<C^y6PcQM#W3el=bNIbr
z=S;)3r}D~_`z+@(eLUN7+})&6v0wAWjQq!!lAGS2Vy;&=eg2Q%V-5pTyNWuCO!TCS
z*A0t=j&D3P`^8-EFBw%aCUcMVEMA&%_+NKd%Y}mfCH5T>S9tEOcF&u>{A$1XvEzS#
zX8&0~<x0i%$<Mvznae)J<ZoIgY+IR_roAQa!k*c2-oM3KmwdI2TjKFVcl$-pz9ar7
z%J%o%8g5#hGVz+MGI_$29AnlNhO26Q4p)yqS@7cG0nId?lUH6#{;AKiXWz-ZaCbLz
z_iX$B*Aw{kKHsa)Eu8md8~d#j2c!R~#Kf}4d4IUccx>X$xxa0G-7HJE-gxEhyIcHG
zHEXXaY@Hu!m3q$iS=<V(-k>SP?n$BIzGw4x=4>uso^skxMt{YNdq4l^+>NLX`&#7l
zX|j^&8*}ITCF0`qHETc5RDW6g>!~sS_lCdvYtr-i)1)eXm-K8YJr=pT_f7TY@4Kt4
zyH&65z0h&JZpvl#luY3l)%T+ANc;bq_1(2(6ML}A=9?RP7AU#<ZgW{Keync!KNF>A
zAKKrmdCib~_GYcq%<AOr;>%3RS_^%jHMqq6Zab10>g_H6Xx^jEB^q{*PR%hi5G@q2
z`Ca50ncu!FAwKrXrTh&XaXZxiFY2p|KBX%<jqCKLj*?U!&zb8~jvkP%DBR|gB(*)~
z^3&T}cA2kqU2tm7{rvNfqUPjoO`O=~RK7c`YT~AUzaKy03VmtLn|bZWr7Lo=W_h6w
z%blj&`hU8Ai<0j~lf!YW)1RGs?RoK8wF!^eR`=B4{TGyE{r?z-e{OBP@TqwAX>qHm
z_AiBh#2Wle{dM-YCBp{Q%eIT6r>NyTVDg+VYpJT>G%u;)N3KfW(&hVit=W1#P~$>7
zpP1;H%QdDN|DC75Fj4hcce&1VjYRC%C7Uyo6>V>CS<^E`M^ER}wyQHfb-mu6)?A?{
zonsSi_W9hzvJV_Hv-`G8P<|;~yY{WjqNo3#rX>F^zx(a!^QmVRpTBf}k9Y#NN(3{9
z*CC-)htRZp4axWBtIZYBu>9n;m$#DJ@zWY@i&Lkzr7k{kf9D_jN%w-Yysh|)N>sh)
zKKs5ve|y_Ap|!i`aLsUAyIMxAR?q6rlYlk%^R}<GF-(^367HM-{Ob<}<&7Ro%XWru
zJNlqn)0oR<XUSLliBZ3FO?=;5Sbjd$w|Kpe^HTYP+b?dO5~-}b{zp$9JO5AH#kp^7
zlYdG+y=73j<H}O;h`Vo18=u@cw5e?EBc-D!uB1+Vd06$&R_2o4#fxt|jaU_EZLM!@
z?NsNXb7l9EM}JmbJ;piZWUS#erkic`I#P@FU;jO4*F>&E*5{*-CIx7(ymN>@@sF7N
z1HlVkTbuqxx@qJpvG6aJ{>r=I3D+Cb<dE1&ryMrRFrCjhtNn3$aAf!+VZG^bZI(49
z#tQat^!J)BF*BOn*u4Gwc7^?ZnjdTLuP}&F3vBxM_GN7Bq$S=(_tQ^q@==xDF-xGx
zLT}28-^xF&=bt)Mw$*V$arnEIU(XtL-KbA~&0JQrW6r(|ZJ}J>x0jVKmMP{P`6HK_
z<*+Yk_k-3&^6vUme%5?rnzs1$(_ef2re^NhQ8Cf*o>!w^-Wi{g`TypJwdZcD`WU6L
z_*Lt9_BVT!cguzE*lON5W$E%?0zb+Q{*8OH`T8w3*;x6jZeLx>qiq8IhX}pYcN3Y=
ze9=2@j!yZ{^qSZ4+3|mJ&x&vK+j}u)E!T^7HjWEC|MQ!lT@2XKq^-5bzkH=T+Yze=
zx*craLQbDn$`b38@~uf-7&T#fz)w!sQ&OvR7DXKJnpDC4WaWdou4{BQr3A)^32xR<
z=vLa)G269Ar|bM8749cu0lcT)L`u77``r1&yna%lxcGjVT3enSpBKK0;X0lDx8Omv
zP#5Rdzqw!2I!<5Nnmo5n>E+tv(leeiA9?lg)b$B%Z7XV8CS)6kHqH%Ly0XD{#RHv5
zPsQy-v#jEU!%W=s9*A+8%U^Ds=Wy=%>6gqFHD3MIFa6)|J^b+YtYa(IDhPS0_f5LK
zbcXWmiIenJajdaCy1b9;v{;?xVfD#M!dlndW4>Pg7<V}?YKrEkD>D=>PDxJ}-0ie>
zwSVCxZ9{35%(enAGftUQvo?LhsjH?6W!d!o+mK|z#oSqS+WYITZ@Hq&r7WdCypq2q
zCK3Br(eAOuF5|>3Z-E?Fj^;#D`wv1sTWjxqw3)x)W&-<(x}DiC!vZ)ioO*ao`sKMJ
z-^3icPOzQw{h0Z`$z|iLMTeiv;n~8xr2CHPGEosFhiMCMto8gD&9`nz$cm|j0ik})
zhdGnaS03<xuv7Sbc`c_5OIU(H+!d3cBTNf*mqqc)r#}m^PTM)lh5eHa<BqKxv|7(`
z3;dt(nLF#X`NRF!HAF6)Y-06LSkTZtgTd!FFI(1uYFi$`DK3tJCiXK0d3c>!6ip-#
zW_=4g!fZQJ(Eoa{+{Z(@Sx2HHp1OayaaHDH?vh)w9}mm!k>nJx{Sn>5aGlll9oNf6
z%HKCw<vp=mzpm!+^`E6*^RKD%D(#Z{xGN)MgNw>FhMnB2LO-$`V0F84Ah4Awy6BaT
z#{C&#e5+4XD9t=!Xk=RUU_+w(=h8V9ja3(t&c6D6aKXKw_q4aNxN0~~?$hJEx^r!i
zs+{jz6BS$4d7jTT5@t4BvORKI^-fUeVfP(=3x!@rZO(32S-ZqA;NB<JuUEWWcYGI+
z_;@km_bY`ZiVK~xTTg7$%5f~{`*Ega!=xQ+9=CZ2+~je2An+l?E>VEdD`9R$5a&cU
zp`wqKhSvnmma5Nq)TpX`X>oD$Mozg`>K_YO4{ct`)$~=ypmBACv5|SViIR$z%HF()
z&=lby$()X@zPH>Kny&Hr-aS>f;K6y-GdrW%9-iN~oP{%urN!`7kl5sR2b}h5?kwW`
z5~Qpqv3BC+s#S@bd#%FG8XruW)p#YQ<@(NQmjZ+BqK{^|9qBi$R^NGxuhVq-!=sAN
zY8FrI-WjW3d`M6tUzxw_%>TrvSuY<vd-bmN$(x)M|1frgpz^x(ghvVaQ4V3RH_kC&
zuevV2VdEl(?{6BHNE<iS``E0kT@!EI$#hwUQ@v)jdaZ)N4&IhEJEmMwmGoCq5!%o{
zVX}`@_b#O)M-Hv1W|oiG*w>&VQ)1jdljG`CE|!Sf2MVeh@>o4LwK(|&cc1&tbDmS|
zw;F$DaqHEOo|krI#8&anPYJbsAH8H#rplt_ofgV7Ev+u|n0DM+66G~DO8M&5<p%D8
zQV0I8zj4UWTA=k1!?W`R<&Td_^ZnCh-F3fx$r5JWpFi5oLsl3(RC4KZ647Pjlyue6
zlG<hQQAp+AiObH*5<HLEo$Sv1AN0^$T|s4%qfW3Gr>3MOtE#9eudb{u^Wq#e%c7Z2
zH*VOp@pSlt073TUNqVYx923q>NDTM+d8p&-wHwbC*d9ET<<C2-gZ-57wVO$2bk9F#
zy)FA`b^M>S?Tg=4o;6&0DktP!spz|1?{o7jE=TVRd0G3u;(B3d-G-CS@)ZkiUEjCW
zYpqnN)RpWl!IQ<#Ms0n0A#bH${L4#=qu1M=K65*DXPx$%FTL+$N)CBWxA~@WPeX>Q
z|C8g-MSlYRt!NMsnxV?+Rp2zI=$7U4yJg2B%X_Tm1cb+WM;uz~>!KtqnzU#$N9b4P
z?xm^zH#aXf6pU0h?3<@&J?-!*4eq~7KUDB|Ct9v)xw=8@+F`dFJkg8YPkSY8{_^$r
n+V39=W#4B_dwyZnS^NK`G7^hJXE#{NpLQ@j!&hvg$G`vpc=r_&

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot
deleted file mode 100644
index b4204488cc5beb2d520d1d828ff5d42f83fb5b60..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20014
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

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg
deleted file mode 100644
index dee0949fd..000000000
--- a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg
+++ /dev/null
@@ -1,1049 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
-<metadata></metadata>
-<defs>
-<font id="source_sans_proregular" horiz-adv-x="497" >
-<font-face units-per-em="1000" ascent="750" descent="-250" />
-<missing-glyph horiz-adv-x="200" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="333" />
-<glyph unicode=" "  horiz-adv-x="200" />
-<glyph unicode="&#x09;" horiz-adv-x="200" />
-<glyph unicode="&#xa0;" horiz-adv-x="200" />
-<glyph unicode="!" horiz-adv-x="289" d="M116 198l-11 378l-2 94h83l-2 -94l-11 -378h-57zM145 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" />
-<glyph unicode="&#x22;" horiz-adv-x="426" d="M99 431l-16 167l-3 92h88l-3 -92l-16 -167h-50zM276 431l-16 167l-3 92h88l-3 -92l-16 -167h-50z" />
-<glyph unicode="#" d="M90 0l25 204h-80v57h87l18 148h-85v58h92l23 183h53l-23 -183h133l24 183h53l-24 -183h81v-58h-87l-18 -148h85v-57h-92l-25 -204h-53l24 204h-132l-25 -204h-54zM176 261h132l18 148h-132z" />
-<glyph unicode="$" d="M222 -110v99q-97 9 -170 77l38 57q78 -67 155 -67q54 0 82.5 27.5t28.5 75.5q0 44 -28.5 76t-69.5 52t-82.5 42t-70 60t-28.5 92q0 66 39.5 111t105.5 55v101h60v-99q78 -9 142 -76l-44 -49q-31 30 -57.5 43.5t-64.5 13.5q-46 0 -73 -26t-27 -70q0 -29 15.5 -51.5t40 -38 t54 -29.5t59.5 -31t54.5 -38t40 -54.5t15.5 -77.5q0 -71 -42 -117.5t-113 -56.5v-101h-60z" />
-<glyph unicode="%" horiz-adv-x="824" d="M184 254q-68 0 -108.5 55t-40.5 153q0 97 40.5 151.5t108.5 54.5t108.5 -54.5t40.5 -151.5q0 -98 -40.5 -153t-108.5 -55zM184 305q39 0 62.5 40.5t23.5 116.5t-23 115.5t-63 39.5t-63.5 -39.5t-23.5 -115.5t23.5 -116.5t63.5 -40.5zM203 -12l362 680h56l-362 -680h-56z M641 -12q-68 0 -108.5 55t-40.5 153q0 97 40.5 151.5t108.5 54.5t108.5 -54.5t40.5 -151.5q0 -98 -40.5 -153t-108.5 -55zM641 39q39 0 62.5 40.5t23.5 116.5t-23 115.5t-63 39.5t-63.5 -39.5t-23.5 -115.5t23.5 -116.5t63.5 -40.5z" />
-<glyph unicode="&#x26;" horiz-adv-x="609" d="M232 -12q-89 0 -144.5 51t-55.5 131q0 60 34.5 103.5t94.5 85.5q-43 86 -43 154q0 66 42.5 110.5t109.5 44.5q60 0 94.5 -35.5t34.5 -94.5q0 -31 -11.5 -58t-36.5 -52.5t-44.5 -41.5t-55.5 -42q62 -97 166 -184q63 85 92 194h77q-42 -138 -115 -235q70 -48 123 -63 l-22 -68q-73 21 -151 75q-83 -75 -189 -75zM189 514q0 -50 31 -115q55 37 83.5 68t28.5 70q0 31 -15.5 51.5t-46.5 20.5q-36 0 -58.5 -27t-22.5 -68zM241 54q64 0 125 53q-105 92 -172 195q-82 -66 -82 -127q0 -54 37 -87.5t92 -33.5z" />
-<glyph unicode="'" horiz-adv-x="249" d="M99 431l-16 167l-3 92h88l-3 -92l-16 -167h-50z" />
-<glyph unicode="(" horiz-adv-x="303" d="M214 -176q-132 213 -132 454t132 454l51 -24q-115 -190 -115 -430t115 -430z" />
-<glyph unicode=")" horiz-adv-x="303" d="M89 -176l-51 24q115 190 115 430t-115 430l51 24q132 -213 132 -454t-132 -454z" />
-<glyph unicode="*" horiz-adv-x="418" d="M138 420l-40 29l57 94l-97 40l15 46l102 -25l9 108h49l9 -107l103 24l15 -46l-97 -40l56 -94l-39 -29l-71 86z" />
-<glyph unicode="+" d="M216 104v195h-182v62h182v195h65v-195h182v-62h-182v-195h-65z" />
-<glyph unicode="," horiz-adv-x="249" d="M67 -170l-20 48q43 19 67 51t23 71q-3 -1 -10 -1q-25 0 -42 15t-17 42q0 26 17.5 42t43.5 16q32 0 50.5 -26t18.5 -71q0 -64 -34.5 -112.5t-96.5 -74.5z" />
-<glyph unicode="-" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" />
-<glyph unicode="." horiz-adv-x="249" d="M125 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" />
-<glyph unicode="/" horiz-adv-x="350" d="M10 -160l267 870h60l-267 -870h-60z" />
-<glyph unicode="0" d="M249 -12q-97 0 -151 87t-54 246t54 244t151 85q96 0 150 -85t54 -244t-54 -246t-150 -87zM249 54q58 0 91 66t33 201q0 263 -124 263q-125 0 -125 -263q0 -135 33 -201t92 -66z" />
-<glyph unicode="1" d="M79 0v68h146v470h-116v53q80 14 135 47h63v-570h132v-68h-360z" />
-<glyph unicode="2" d="M40 0v49q83 83 129.5 132t90.5 103.5t62 95t18 78.5q0 57 -31 91t-90 34q-70 0 -136 -77l-47 47q89 97 193 97q88 0 139.5 -51.5t51.5 -136.5q0 -82 -61.5 -168t-198.5 -229q70 6 107 6h185v-71h-412z" />
-<glyph unicode="3" d="M236 -12q-128 0 -210 90l42 54q72 -76 163 -76q58 0 95 32t37 85q0 127 -204 127v63q181 0 181 119q0 47 -29.5 74t-80.5 27q-71 0 -136 -65l-44 52q85 80 183 80q85 0 138 -43t53 -119q0 -108 -116 -152v-4q61 -14 99.5 -56.5t38.5 -105.5q0 -83 -60 -132.5t-150 -49.5z " />
-<glyph unicode="4" d="M304 0v176h-287v54l273 408h92v-396h87v-66h-87v-176h-78zM104 242h200v185q0 38 5 123h-4q-2 -4 -52 -90z" />
-<glyph unicode="5" d="M234 -12q-122 0 -209 87l40 54q73 -73 161 -73q60 0 100 40.5t40 105.5t-37 102.5t-99 37.5q-50 0 -109 -39l-44 28l21 307h319v-71h-247l-17 -189q49 26 98 26q87 0 142.5 -50.5t55.5 -149.5t-63.5 -157.5t-151.5 -58.5z" />
-<glyph unicode="6" d="M268 -12q-98 0 -159 79.5t-61 227.5q0 180 69 267.5t174 87.5q91 0 154 -68l-46 -51q-42 50 -105 50q-73 0 -119 -64.5t-49 -206.5q30 37 70 58.5t79 21.5q85 0 133.5 -50.5t48.5 -146.5q0 -90 -55 -147.5t-134 -57.5zM268 53q48 0 79.5 39t31.5 101q0 64 -30 99.5 t-88 35.5q-33 0 -69 -21t-64 -63q8 -93 43.5 -142t96.5 -49z" />
-<glyph unicode="7" d="M177 0q8 181 49.5 309t135.5 258h-318v71h411v-51q-108 -138 -146 -262.5t-47 -324.5h-85z" />
-<glyph unicode="8" d="M250 -12q-90 0 -149.5 49.5t-59.5 125.5q0 108 120 172v4q-89 62 -89 147q0 73 51.5 118.5t129.5 45.5q82 0 131 -47.5t49 -122.5q0 -46 -26.5 -86.5t-61.5 -67.5v-4q51 -30 81 -67.5t30 -96.5q0 -73 -57.5 -121.5t-148.5 -48.5zM295 348q67 59 67 128q0 49 -30 81 t-81 32q-45 0 -74 -28.5t-29 -74.5q0 -51 37.5 -80.5t109.5 -57.5zM252 49q55 0 90 31t35 81q0 24 -10.5 44t-22 32.5t-41 28t-44.5 22t-55 22.5q-89 -59 -89 -139q0 -53 39 -87.5t98 -34.5z" />
-<glyph unicode="9" d="M235 310q76 0 134 85q-17 190 -141 190q-47 0 -79 -39t-32 -101q0 -64 30 -99.5t88 -35.5zM205 -12q-92 0 -154 67l46 52q43 -51 105 -51q74 0 120.5 65t48.5 209q-30 -38 -70 -60t-80 -22q-84 0 -132.5 50.5t-48.5 146.5q0 90 55 147.5t133 57.5q98 0 159 -79t61 -228 q0 -180 -69 -267.5t-174 -87.5z" />
-<glyph unicode=":" horiz-adv-x="249" d="M125 349q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM125 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" />
-<glyph unicode=";" horiz-adv-x="249" d="M125 349q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM67 -170l-20 48q43 19 67 51t23 71q-3 -1 -10 -1q-25 0 -42 15t-17 42q0 26 17.5 42t43.5 16q32 0 50.5 -26t18.5 -71q0 -64 -34.5 -112.5t-96.5 -74.5z" />
-<glyph unicode="&#x3c;" d="M463 131l-429 168v66l429 168v-71l-211 -78l-134 -50v-4l134 -50l211 -78v-71z" />
-<glyph unicode="=" d="M34 406v62h429v-62h-429zM34 192v62h429v-62h-429z" />
-<glyph unicode="&#x3e;" d="M34 131v71l211 78l134 50v4l-134 50l-211 78v71l429 -168v-66z" />
-<glyph unicode="?" horiz-adv-x="425" d="M160 198q-6 43 5.5 82t33 68t43.5 55t38.5 55.5t16.5 58.5q0 42 -25.5 69.5t-71.5 27.5q-65 0 -115 -58l-47 43q73 83 172 83q76 0 121.5 -43t45.5 -117q0 -36 -16.5 -70t-39.5 -61t-45 -55t-35 -63.5t-9 -74.5h-72zM198 -12q-25 0 -42 17.5t-17 44.5q0 28 17 46t42 18 t42.5 -18t17.5 -46q0 -27 -17.5 -44.5t-42.5 -17.5z" />
-<glyph unicode="@" horiz-adv-x="847" d="M403 -155q-153 0 -252.5 94.5t-99.5 263.5q0 196 122 319.5t295 123.5q150 0 239 -91t89 -240q0 -123 -62 -194.5t-138 -71.5q-42 0 -70 19.5t-33 56.5h-2q-58 -68 -122 -68q-53 0 -86.5 37.5t-33.5 103.5q0 86 54.5 159t137.5 73q54 0 80 -48h2l11 40h55l-39 -200 q-30 -117 54 -117q51 0 92.5 57.5t41.5 149.5q0 125 -72 202t-205 77q-140 0 -245 -108t-105 -277q0 -143 83.5 -224.5t214.5 -81.5q84 0 162 45l22 -49q-85 -51 -190 -51zM385 113q43 0 92 59l29 159q-26 42 -64 42q-56 0 -91.5 -54t-35.5 -116q0 -46 19 -68t51 -22z" />
-<glyph unicode="A" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85z" />
-<glyph unicode="B" horiz-adv-x="588" d="M90 0v656h195q225 0 225 -160q0 -50 -25.5 -89t-70.5 -54v-4q62 -12 98 -52t36 -105q0 -94 -67.5 -143t-181.5 -49h-209zM173 377h97q158 0 158 108q0 56 -38 80.5t-116 24.5h-101v-213zM173 66h114q179 0 179 129q0 118 -179 118h-114v-247z" />
-<glyph unicode="C" horiz-adv-x="571" d="M338 -12q-126 0 -206 91.5t-80 248.5q0 155 81.5 247.5t209.5 92.5q108 0 180 -81l-45 -54q-59 62 -134 62q-93 0 -149.5 -71.5t-56.5 -193.5q0 -124 55 -196.5t148 -72.5q84 0 152 74l46 -52q-82 -95 -201 -95z" />
-<glyph unicode="D" horiz-adv-x="615" d="M90 0v656h164q151 0 230.5 -84t79.5 -241q0 -158 -79 -244.5t-227 -86.5h-168zM173 68h75q113 0 171.5 68.5t58.5 194.5q0 125 -58 191t-172 66h-75v-520z" />
-<glyph unicode="E" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388z" />
-<glyph unicode="F" horiz-adv-x="494" d="M90 0v656h378v-70h-295v-222h250v-70h-250v-294h-83z" />
-<glyph unicode="G" horiz-adv-x="617" d="M348 -12q-132 0 -214 91t-82 249q0 156 84 248t217 92q112 0 189 -81l-46 -54q-60 62 -141 62q-99 0 -158 -71.5t-59 -193.5q0 -125 57 -197t161 -72q76 0 118 39v171h-139v69h215v-276q-73 -76 -202 -76z" />
-<glyph unicode="H" horiz-adv-x="652" d="M90 0v656h83v-275h305v275h84v-656h-84v309h-305v-309h-83z" />
-<glyph unicode="I" horiz-adv-x="263" d="M90 0v656h83v-656h-83z" />
-<glyph unicode="J" horiz-adv-x="480" d="M212 -12q-123 0 -181 105l60 42q41 -74 113 -74q53 0 79 33t26 107v455h84v-463q0 -91 -45 -148t-136 -57z" />
-<glyph unicode="K" horiz-adv-x="579" d="M90 0v656h83v-329h3l273 329h94l-205 -250l237 -406h-93l-196 341l-113 -133v-208h-83z" />
-<glyph unicode="L" horiz-adv-x="486" d="M90 0v656h83v-585h287v-71h-370z" />
-<glyph unicode="M" horiz-adv-x="727" d="M90 0v656h100l126 -350q8 -22 23.5 -68t23.5 -69h4q8 23 22.5 69t22.5 68l124 350h101v-656h-78v361q0 35 11 194h-4l-52 -149l-124 -340h-55l-124 340l-52 149h-4q10 -145 10 -194v-361h-75z" />
-<glyph unicode="N" horiz-adv-x="647" d="M90 0v656h86l237 -412l71 -136h4q-10 165 -10 209v339h79v-656h-86l-238 413l-71 135h-4q11 -145 11 -205v-343h-79z" />
-<glyph unicode="O" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5z" />
-<glyph unicode="P" horiz-adv-x="566" d="M90 0v656h187q246 0 246 -193q0 -100 -65 -151.5t-177 -51.5h-108v-260h-83zM173 328h98q86 0 127.5 33t41.5 102t-42 97.5t-131 28.5h-94v-261z" />
-<glyph unicode="Q" horiz-adv-x="664" d="M332 57q88 0 141 74t53 200q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -126 53 -200t141 -74zM533 -165q-87 0 -149.5 42.5t-92.5 113.5q-109 15 -174 106t-65 234q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -140 -63 -230.5t-169 -108.5q45 -87 161 -87q37 0 69 9 l16 -64q-37 -15 -94 -15z" />
-<glyph unicode="R" horiz-adv-x="569" d="M90 0v656h205q230 0 230 -184q0 -75 -39 -122t-109 -64l167 -286h-94l-158 277h-119v-277h-83zM173 345h110q159 0 159 127q0 62 -40 89.5t-119 27.5h-110v-244z" />
-<glyph unicode="S" horiz-adv-x="534" d="M272 -12q-136 0 -230 97l50 58q79 -82 181 -82q64 0 100.5 29t36.5 78q0 24 -7 41.5t-25.5 31.5t-32.5 21.5t-44 21.5l-94 41q-133 56 -133 169q0 75 58.5 124.5t147.5 49.5q115 0 194 -81l-45 -54q-65 62 -149 62q-55 0 -88.5 -26t-33.5 -70q0 -22 8.5 -39.5t27.5 -31 t33 -20.5t40 -18l93 -40q65 -28 100 -68t35 -107q0 -80 -61 -133.5t-162 -53.5z" />
-<glyph unicode="T" horiz-adv-x="536" d="M226 0v586h-198v70h480v-70h-198v-586h-84z" />
-<glyph unicode="U" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283z" />
-<glyph unicode="V" horiz-adv-x="515" d="M210 0l-210 656h89l105 -354q10 -32 30 -103.5t34 -113.5h4q14 44 35 118t28 99l105 354h85l-208 -656h-97z" />
-<glyph unicode="W" horiz-adv-x="786" d="M162 0l-139 656h86l69 -357q6 -35 19 -105.5t19 -106.5h4q8 39 24 111t22 101l91 357h76l91 -357q8 -34 48 -212h4q24 142 37 212l69 357h80l-136 -656h-100l-99 395q-17 71 -32 149h-4q-6 -29 -17.5 -80.5t-15.5 -68.5l-97 -395h-99z" />
-<glyph unicode="X" horiz-adv-x="513" d="M15 0l191 339l-178 317h92l89 -168q14 -25 51 -95h4q29 61 47 95l87 168h88l-179 -321l191 -335h-92l-96 177q-5 9 -24.5 45.5t-31.5 59.5h-4q-10 -20 -52 -105l-95 -177h-88z" />
-<glyph unicode="Y" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84z" />
-<glyph unicode="Z" horiz-adv-x="539" d="M45 0v50l345 536h-314v70h418v-49l-346 -536h349v-71h-452z" />
-<glyph unicode="[" horiz-adv-x="303" d="M94 -152v860h179v-47h-117v-766h117v-47h-179z" />
-<glyph unicode="\" horiz-adv-x="350" d="M281 -160l-267 870h59l267 -870h-59z" />
-<glyph unicode="]" horiz-adv-x="303" d="M31 -152v47h116v766h-116v47h178v-860h-178z" />
-<glyph unicode="^" d="M60 284l152 386h73l152 -386h-72l-65 176l-49 133h-4l-50 -133l-65 -176h-72z" />
-<glyph unicode="_" horiz-adv-x="500" d="M12 -126v55h476v-55h-476z" />
-<glyph unicode="`" horiz-adv-x="542" d="M285 573l-157 153l58 55l141 -167z" />
-<glyph unicode="a" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5z" />
-<glyph unicode="b" horiz-adv-x="553" d="M297 -12q-71 0 -139 62h-3l-7 -50h-66v712h82v-194l-2 -88q77 68 152 68q93 0 143 -66t50 -181q0 -120 -61.5 -191.5t-148.5 -71.5zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-59 0 -130 -66v-255q59 -51 119 -51z" />
-<glyph unicode="c" horiz-adv-x="456" d="M274 -12q-100 0 -164 68t-64 186t68 187t166 69q79 0 142 -57l-42 -54q-48 43 -97 43q-66 0 -109 -52.5t-43 -135.5t41.5 -134.5t108.5 -51.5q60 0 114 49l36 -55q-70 -62 -157 -62z" />
-<glyph unicode="d" horiz-adv-x="555" d="M248 -12q-93 0 -147 67t-54 187q0 115 62 185.5t149 70.5q67 0 136 -56l-4 83v187h83v-712h-68l-7 57h-3q-71 -69 -147 -69zM266 57q64 0 124 67v254q-57 51 -118 51q-59 0 -99.5 -52t-40.5 -134q0 -87 35.5 -136.5t98.5 -49.5z" />
-<glyph unicode="e" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5z" />
-<glyph unicode="f" horiz-adv-x="292" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82z" />
-<glyph unicode="g" horiz-adv-x="504" d="M246 -224q-91 0 -146 34.5t-55 96.5t71 110v4q-43 27 -43 79q0 54 53 90v4q-63 51 -63 131q0 77 53 125t130 48q38 0 69 -12h169v-63h-100q40 -38 40 -100q0 -76 -51 -122.5t-127 -46.5q-39 0 -73 17q-31 -27 -31 -58q0 -53 86 -53h94q86 0 128 -28t42 -88 q0 -70 -68 -119t-178 -49zM246 209q43 0 73 32t30 84t-29.5 82.5t-73.5 30.5t-73.5 -30.5t-29.5 -82.5t30 -84t73 -32zM258 -167q67 0 110.5 29.5t43.5 69.5q0 33 -24.5 46.5t-73.5 13.5h-84q-35 0 -63 8q-50 -36 -50 -82q0 -39 37.5 -62t103.5 -23z" />
-<glyph unicode="h" horiz-adv-x="544" d="M82 0v712h82v-194l-3 -100q84 80 162 80q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82z" />
-<glyph unicode="i" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM124 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38t-40.5 -15z" />
-<glyph unicode="j" horiz-adv-x="247" d="M32 -217q-40 0 -72 13l17 62q24 -8 46 -8q34 0 47 23.5t13 71.5v541h82v-541q0 -162 -133 -162zM125 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40 -14.5t16 -38.5q0 -23 -16 -38t-40 -15z" />
-<glyph unicode="k" horiz-adv-x="495" d="M82 0v712h81v-482h3l207 256h91l-163 -195l185 -291h-90l-142 234l-91 -106v-128h-81z" />
-<glyph unicode="l" horiz-adv-x="255" d="M169 -12q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" />
-<glyph unicode="m" horiz-adv-x="829" d="M82 0v486h68l7 -70h3q75 82 151 82q102 0 134 -93q86 93 160 93q148 0 148 -190v-308h-82v297q0 68 -22 99t-68 31q-55 0 -122 -75v-352h-82v297q0 68 -22 99t-69 31q-54 0 -122 -75v-352h-82z" />
-<glyph unicode="n" horiz-adv-x="547" d="M82 0v486h68l7 -70h3q82 82 163 82q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82z" />
-<glyph unicode="o" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5z" />
-<glyph unicode="p" horiz-adv-x="555" d="M82 -205v691h68l7 -56h3q81 68 155 68q92 0 142 -66.5t50 -181.5q0 -119 -61.5 -190.5t-148.5 -71.5q-63 0 -135 56l2 -85v-164h-82zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-56 0 -130 -66v-255q61 -51 119 -51z" />
-<glyph unicode="q" horiz-adv-x="555" d="M390 -205v173l4 88q-70 -68 -146 -68q-93 0 -147 67t-54 187q0 115 62 185.5t149 70.5q72 0 139 -58h2l8 46h66v-691h-83zM266 57q64 0 124 67v254q-57 51 -118 51q-59 0 -99.5 -52t-40.5 -134q0 -87 35.5 -136.5t98.5 -49.5z" />
-<glyph unicode="r" horiz-adv-x="347" d="M82 0v486h68l7 -88h3q25 47 61 73.5t77 26.5q29 0 52 -10l-16 -72q-26 8 -47 8q-34 0 -67 -27t-56 -85v-312h-82z" />
-<glyph unicode="s" horiz-adv-x="419" d="M209 -12q-100 0 -181 67l41 55q72 -58 143 -58q46 0 71 21.5t25 54.5q0 18 -9 32t-28 25.5t-33 18t-41 16.5q-32 11 -53 21t-44.5 27t-35.5 40t-12 52q0 60 45 99t122 39q83 0 151 -55l-39 -52q-57 43 -111 43q-43 0 -66 -20t-23 -50q0 -20 16.5 -36.5t31 -23.5t50.5 -20 q7 -3 10 -4q28 -11 43 -17t38.5 -19.5t35.5 -27t21.5 -35t9.5 -48.5q0 -62 -47.5 -103.5t-130.5 -41.5z" />
-<glyph unicode="t" horiz-adv-x="338" d="M235 -12q-139 0 -139 162v269h-72v62l76 5l10 136h69v-136h131v-67h-131v-270q0 -47 17 -70.5t58 -23.5q20 0 55 13l16 -62q-54 -18 -90 -18z" />
-<glyph unicode="u" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88z" />
-<glyph unicode="v" horiz-adv-x="467" d="M187 0l-175 486h85l92 -276q14 -47 45 -143h4q4 13 20 64t24 79l92 276h81l-172 -486h-96z" />
-<glyph unicode="w" horiz-adv-x="718" d="M159 0l-135 486h84l72 -281q12 -51 29 -135h4l33 135l75 281h80l76 -281q16 -61 34 -135h4q6 24 30 135l71 281h78l-130 -486h-100l-70 261q-7 26 -17.5 73t-15.5 67h-4q-23 -101 -34 -141l-68 -260h-96z" />
-<glyph unicode="x" horiz-adv-x="446" d="M14 0l159 254l-147 232h89l65 -107q33 -57 48 -81h4q24 47 44 81l59 107h86l-147 -241l158 -245h-89l-71 113q-30 52 -53 87h-4q-21 -35 -49 -87l-66 -113h-86z" />
-<glyph unicode="y" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5z" />
-<glyph unicode="z" horiz-adv-x="425" d="M31 0v44l256 375h-228v67h332v-44l-256 -375h264v-67h-368z" />
-<glyph unicode="{" horiz-adv-x="303" d="M228 -152q-62 0 -89.5 29t-27.5 104q0 37 4.5 98.5t4.5 94.5q0 77 -86 78v52q86 1 86 77q0 33 -4.5 95t-4.5 99q0 75 27.5 104t89.5 29h45v-47h-27q-39 0 -53.5 -20.5t-14.5 -70.5q0 -30 3 -88t3 -93q0 -49 -14 -74.5t-46 -34.5v-4q32 -9 46 -35t14 -74q0 -35 -3 -93 t-3 -88q0 -50 14.5 -70.5t53.5 -20.5h27v-47h-45z" />
-<glyph unicode="|" horiz-adv-x="241" d="M92 -250v1000h58v-1000h-58z" />
-<glyph unicode="}" horiz-adv-x="303" d="M31 -152v47h26q39 0 53.5 20.5t14.5 70.5q0 30 -2.5 88t-2.5 93q0 49 13.5 74.5t45.5 34.5v4q-32 9 -45.5 34.5t-13.5 74.5q0 35 2.5 93t2.5 88q0 50 -14.5 70.5t-53.5 20.5h-26v47h44q62 0 89.5 -29t27.5 -104q0 -37 -4.5 -99t-4.5 -95t20 -54.5t66 -22.5v-52 q-86 -1 -86 -78q0 -33 4.5 -94.5t4.5 -98.5q0 -75 -27.5 -104t-89.5 -29h-44z" />
-<glyph unicode="~" d="M336 257q-34 0 -66 21t-60 42t-51 21q-44 0 -77 -61l-46 33q51 90 125 90q34 0 66 -21t60 -42t51 -21q44 0 77 61l46 -34q-51 -89 -125 -89z" />
-<glyph unicode="&#xa1;" horiz-adv-x="289" d="M103 -184l2 94l11 378h57l11 -378l2 -94h-83zM145 372q-25 0 -42.5 18t-17.5 46q0 27 17.5 44.5t42.5 17.5q24 0 41.5 -17.5t17.5 -44.5q0 -28 -17 -46t-42 -18z" />
-<glyph unicode="&#xa2;" d="M143 310q0 -67 31.5 -111t87.5 -57v335q-55 -13 -87 -57t-32 -110zM262 -33v104q-92 11 -146.5 73.5t-54.5 165.5q0 100 56.5 162t144.5 75v106h52v-103q73 -4 131 -58l-40 -52q-44 39 -91 42v-344q56 4 104 47l36 -52q-64 -57 -140 -63v-103h-52z" />
-<glyph unicode="&#xa3;" d="M54 0v50q50 27 78 75t28 105q0 24 -7 55h-100v52l67 4h18q-27 87 -27 125q0 84 51 134t135 50q94 0 155 -75l-48 -47q-43 53 -101 53q-53 0 -82 -32t-29 -85q0 -39 24 -123h159v-56h-146q5 -30 5 -56q0 -90 -62 -154v-4h281v-71h-399z" />
-<glyph unicode="&#xa4;" d="M70 103l-44 45l64 65q-36 49 -36 116q0 68 36 117l-64 66l44 45l68 -70q48 37 111 37q62 0 110 -37l68 70l44 -45l-65 -66q37 -50 37 -117q0 -66 -37 -116l65 -65l-44 -45l-68 69q-47 -38 -110 -38q-64 0 -111 38zM249 195q49 0 83.5 37.5t34.5 96.5t-34.5 96.5 t-83.5 37.5q-50 0 -84.5 -37.5t-34.5 -96.5t34.5 -96.5t84.5 -37.5z" />
-<glyph unicode="&#xa5;" d="M207 0v158h-162v48h162v65h-162v47h141l-163 320h86l78 -171q11 -25 32 -72t28 -63h4q13 27 34.5 75.5t26.5 59.5l78 171h84l-164 -320h142v-47h-163v-65h163v-48h-163v-158h-82z" />
-<glyph unicode="&#xa6;" horiz-adv-x="241" d="M92 291v459h58v-459h-58zM92 -250v464h58v-464h-58z" />
-<glyph unicode="&#xa7;" d="M117 348q0 -31 21.5 -55t47.5 -36.5t68.5 -31.5t65.5 -32q60 28 60 85q0 26 -12.5 46t-35.5 35t-46.5 25.5t-55.5 24.5t-52 26q-61 -34 -61 -87zM236 -64q-107 0 -173 71l50 45q54 -52 123 -52q39 0 62 20t23 49q0 31 -28.5 54t-69 39.5t-81 36.5t-69 56.5t-28.5 87.5 q0 81 86 129q-32 34 -32 82q0 55 40 92.5t112 37.5q84 0 154 -57l-40 -53q-57 46 -111 46q-40 0 -59.5 -17.5t-19.5 -45.5q0 -25 20.5 -45t51.5 -33t66.5 -30.5t66.5 -36t51.5 -52t20.5 -76.5q0 -81 -85 -129q30 -35 30 -82q0 -59 -45.5 -98t-115.5 -39z" />
-<glyph unicode="&#xa8;" horiz-adv-x="542" d="M175 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM367 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xa9;" horiz-adv-x="744" d="M372 -11q-135 0 -229 92.5t-94 241.5q0 148 94 239t229 91t229 -91t94 -239q0 -149 -94 -241.5t-229 -92.5zM372 31q116 0 196 81.5t80 210.5q0 128 -80 208.5t-196 80.5t-196 -80.5t-80 -208.5q0 -129 80 -210.5t196 -81.5zM380 125q-78 0 -130 53.5t-52 144.5 q0 84 54.5 136.5t130.5 52.5q68 0 125 -57l-35 -39q-43 41 -87 41q-54 0 -88 -37.5t-34 -96.5q0 -66 32.5 -104.5t86.5 -38.5q51 0 102 44l30 -42q-66 -57 -135 -57z" />
-<glyph unicode="&#xaa;" horiz-adv-x="345" d="M136 387q-44 0 -71.5 25.5t-27.5 68.5q0 52 47.5 80t151.5 39q-2 73 -62 73q-47 0 -101 -34l-23 43q69 42 133 42q115 0 115 -133v-196h-50l-7 37h-4q-51 -45 -101 -45zM154 436q39 0 82 40v85q-138 -15 -138 -75q0 -50 56 -50z" />
-<glyph unicode="&#xab;" horiz-adv-x="429" d="M181 66l-136 155v62l136 155l36 -30l-118 -156l118 -158zM339 66l-136 155v62l136 155l36 -30l-118 -156l118 -158z" />
-<glyph unicode="&#xac;" d="M397 104v195h-363v62h429v-257h-66z" />
-<glyph unicode="&#xad;" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" />
-<glyph unicode="&#xae;" horiz-adv-x="423" d="M211 319q-79 0 -133.5 55.5t-54.5 141.5t54.5 141.5t133.5 55.5t134 -55.5t55 -141.5t-55 -141.5t-134 -55.5zM211 356q64 0 106.5 45t42.5 115t-42.5 115.5t-106.5 45.5q-63 0 -105.5 -45.5t-42.5 -115.5q0 -71 42 -115.5t106 -44.5zM139 417v203h76q78 0 78 -65 q0 -18 -10.5 -33.5t-26.5 -21.5l46 -83h-46l-35 70h-41v-70h-41zM180 519h26q43 0 43 34q0 33 -41 33h-28v-67z" />
-<glyph unicode="&#xaf;" horiz-adv-x="542" d="M138 601v57h266v-57h-266z" />
-<glyph unicode="&#xb0;" horiz-adv-x="331" d="M166 429q-52 0 -88.5 35.5t-36.5 91.5q0 58 36.5 93.5t88.5 35.5t88.5 -35.5t36.5 -93.5q0 -56 -36.5 -91.5t-88.5 -35.5zM166 475q33 0 54 23t21 58q0 37 -21 60t-54 23t-54 -23t-21 -60q0 -35 21 -58t54 -23z" />
-<glyph unicode="&#xb1;" d="M216 127v177h-182v62h182v190h65v-190h182v-62h-182v-177h-65zM34 0v62h429v-62h-429z" />
-<glyph unicode="&#xb2;" horiz-adv-x="367" d="M52 395v37q104 93 144.5 140.5t40.5 88.5q0 38 -20 60t-55 22q-45 0 -84 -57l-38 35q51 76 130 76q60 0 95 -33t35 -93q0 -27 -9 -52t-34.5 -57t-42 -50t-59.5 -62h165v-55h-268z" />
-<glyph unicode="&#xb3;" horiz-adv-x="367" d="M180 383q-93 0 -145 76l43 33q39 -58 99 -58q33 0 55.5 19t22.5 51q0 33 -31.5 51t-89.5 18v41q49 0 77.5 19.5t28.5 50.5q0 28 -19.5 45t-51.5 17q-41 0 -79 -47l-39 34q56 64 128 64q52 0 88 -28.5t36 -76.5q0 -64 -68 -96q36 -9 60 -34t24 -62q0 -53 -40 -85t-99 -32z " />
-<glyph unicode="&#xb4;" horiz-adv-x="542" d="M257 573l-42 41l141 167l58 -55z" />
-<glyph unicode="&#xb5;" horiz-adv-x="562" d="M82 -179v665h82v-297q0 -130 89 -130q37 0 67.5 19.5t61.5 75.5v332h83q-1 -44 -2.5 -126.5t-2.5 -147.5t-1 -117q0 -39 36 -39q13 0 29 6l11 -62q-24 -12 -58 -12q-41 0 -62 22.5t-26 71.5h-2q-52 -92 -135 -92q-66 0 -94 47q1 -129 7 -216h-83z" />
-<glyph unicode="&#xb6;" horiz-adv-x="560" d="M380 -80v736h84v-736h-84zM293 226q-115 0 -183.5 54t-68.5 163q0 112 65 162.5t176 50.5h44v-430h-33z" />
-<glyph unicode="&#xb7;" horiz-adv-x="249" d="M125 259q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" />
-<glyph unicode="&#xb8;" horiz-adv-x="542" d="M190 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l44 91h53l-29 -67q73 -17 73 -71q0 -83 -165 -91z" />
-<glyph unicode="&#xb9;" horiz-adv-x="367" d="M172 395v308h-85v42q57 10 97 40h52v-390h-64z" />
-<glyph unicode="&#xba;" horiz-adv-x="365" d="M182 387q-65 0 -108.5 45.5t-43.5 122.5q0 78 43.5 123.5t108.5 45.5q64 0 108 -45.5t44 -123.5q0 -77 -44 -122.5t-108 -45.5zM182 438q41 0 64.5 32.5t23.5 84.5q0 54 -23.5 86t-64.5 32t-65 -32t-24 -86q0 -52 24 -84.5t65 -32.5z" />
-<glyph unicode="&#xbb;" horiz-adv-x="429" d="M89 66l-35 28l118 158l-118 156l35 30l137 -155v-62zM247 66l-35 28l118 158l-118 156l35 30l137 -155v-62z" />
-<glyph unicode="&#xbc;" horiz-adv-x="781" d="M148 266v308h-85v42q57 10 97 40h52v-390h-64zM180 -12l362 680h56l-362 -680h-56zM633 0v104h-178v33l164 253h72v-240h58v-46h-58v-104h-58zM522 150h111v70l4 109h-4l-50 -81z" />
-<glyph unicode="&#xbd;" horiz-adv-x="808" d="M148 266v308h-85v42q57 10 97 40h52v-390h-64zM160 -12l362 680h56l-362 -680h-56zM493 0v37q104 93 144.5 140.5t40.5 88.5q0 38 -20 60t-55 22q-45 0 -84 -57l-38 35q51 76 130 76q60 0 95 -33t35 -93q0 -27 -9 -52t-34.5 -57t-42 -50t-59.5 -62h165v-55h-268z" />
-<glyph unicode="&#xbe;" horiz-adv-x="796" d="M179 254q-93 0 -145 76l43 33q39 -58 99 -58q33 0 55.5 18.5t22.5 51.5t-31.5 51t-89.5 18v41q49 0 77.5 19.5t28.5 50.5q0 28 -19.5 45t-51.5 17q-41 0 -79 -47l-39 34q56 64 128 64q52 0 88 -28.5t36 -76.5q0 -64 -68 -96q36 -9 60 -34t24 -62q0 -53 -40 -85t-99 -32z M218 -12l362 680h56l-362 -680h-56zM648 0v104h-178v33l164 253h72v-240h58v-46h-58v-104h-58zM537 150h111v70l4 109h-4l-50 -81z" />
-<glyph unicode="&#xbf;" horiz-adv-x="425" d="M215 -196q-76 0 -121.5 43t-45.5 117q0 36 16.5 70t39 61t45 55t35.5 63.5t8 74.5h73q6 -43 -5.5 -82t-33 -68t-43.5 -55t-38.5 -55.5t-16.5 -58.5q0 -42 25 -69t72 -27q65 0 114 57l48 -43q-76 -83 -172 -83zM227 372q-25 0 -42.5 18t-17.5 46q0 27 17.5 44.5t42.5 17.5 q24 0 41.5 -17.5t17.5 -44.5q0 -28 -17 -46t-42 -18z" />
-<glyph unicode="&#xc0;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM287 697l-152 115l47 55l142 -128z" />
-<glyph unicode="&#xc1;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM253 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xc2;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM122 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" />
-<glyph unicode="&#xc3;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM345 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66 l56 -4q-3 -58 -30 -90.5t-72 -32.5z" />
-<glyph unicode="&#xc4;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM167 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM373 715q-22 0 -35.5 14 t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#xc5;" horiz-adv-x="544" d="M203 367l-31 -100h197l-31 100q-31 94 -66 221h-4q-31 -117 -65 -221zM3 0l222 656h94l222 -656h-89l-62 200h-239l-63 -200h-85zM270 699q-42 0 -69.5 25t-27.5 65q0 41 27.5 66t69.5 25t69.5 -25t27.5 -66q0 -40 -27.5 -65t-69.5 -25zM270 735q21 0 36 14.5t15 39.5 t-15 39.5t-36 14.5q-22 0 -37 -14.5t-15 -39.5t14.5 -39.5t37.5 -14.5z" />
-<glyph unicode="&#xc6;" horiz-adv-x="822" d="M290 376l-61 -118h172v332h-4q-53 -107 -107 -214zM8 0l344 656h411v-70h-278v-206h232v-71h-232v-238h288v-71h-372v191h-206l-99 -191h-88z" />
-<glyph unicode="&#xc7;" horiz-adv-x="571" d="M256 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l37 77q-118 8 -191.5 98.5t-73.5 240.5q0 155 81.5 247.5t209.5 92.5q108 0 180 -81l-45 -54q-59 62 -134 62q-93 0 -149.5 -71.5t-56.5 -193.5q0 -124 55 -196.5t148 -72.5q84 0 152 74l46 -52 q-71 -82 -168 -93l-23 -54q73 -17 73 -71q0 -83 -165 -91z" />
-<glyph unicode="&#xc8;" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM301 697l-152 115l47 55l142 -128z" />
-<glyph unicode="&#xc9;" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM267 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xca;" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM136 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" />
-<glyph unicode="&#xcb;" horiz-adv-x="527" d="M90 0v656h378v-70h-295v-206h249v-71h-249v-238h305v-71h-388zM181 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM387 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5 q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#xcc;" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM148 697l-152 115l47 55l142 -128z" />
-<glyph unicode="&#xcd;" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM114 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xce;" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM-17 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" />
-<glyph unicode="&#xcf;" horiz-adv-x="263" d="M90 0v656h83v-656h-83zM28 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM234 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#xd0;" horiz-adv-x="638" d="M33 321v43l79 4v288h164q151 0 230.5 -84t79.5 -241q0 -158 -79 -244.5t-227 -86.5h-168v321h-79zM195 68h75q113 0 171.5 68.5t58.5 194.5q0 125 -58 191t-172 66h-75v-220h149v-47h-149v-253z" />
-<glyph unicode="&#xd1;" horiz-adv-x="647" d="M90 0v656h86l237 -412l71 -136h4q-10 165 -10 209v339h79v-656h-86l-238 413l-71 135h-4q11 -145 11 -205v-343h-79zM402 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66l56 -4 q-3 -58 -30 -90.5t-72 -32.5z" />
-<glyph unicode="&#xd2;" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM349 697l-152 115l47 55l142 -128z" />
-<glyph unicode="&#xd3;" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM315 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xd4;" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM184 725l105 113h86l105 -113l-36 -26l-110 93h-4 l-110 -93z" />
-<glyph unicode="&#xd5;" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM407 709q-32 0 -59 17.5t-48.5 35.5t-40.5 18t-32 -17 t-16 -49l-56 4q3 57 30 90t72 33q32 0 59 -17.5t48.5 -35.5t40.5 -18q40 0 48 66l56 -4q-3 -58 -30 -90.5t-72 -32.5z" />
-<glyph unicode="&#xd6;" horiz-adv-x="664" d="M332 -12q-125 0 -202.5 93t-77.5 250q0 155 77.5 246t202.5 91t203 -91t78 -246q0 -157 -78 -250t-203 -93zM332 61q88 0 141 73.5t53 196.5q0 122 -53 193t-141 71t-141 -71t-53 -193q0 -123 53 -196.5t141 -73.5zM229 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5 q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM435 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#xd7;" d="M94 126l-44 45l155 159l-155 158l44 45l155 -159l154 159l44 -45l-155 -158l155 -159l-44 -45l-154 160z" />
-<glyph unicode="&#xd8;" horiz-adv-x="664" d="M335 -12q-104 0 -175 65l-64 -83l-46 36l70 91q-65 94 -65 234q0 155 77.5 246t202.5 91q104 0 176 -63l62 81l46 -35l-69 -89q66 -91 66 -231q0 -157 -78 -250t-203 -93zM141 331q0 -95 33 -163l288 373q-51 54 -127 54q-88 0 -141 -71t-53 -193zM335 61q88 0 141 73.5 t53 196.5q0 94 -33 160l-287 -374q50 -56 126 -56z" />
-<glyph unicode="&#xd9;" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM340 697l-152 115l47 55l142 -128z" />
-<glyph unicode="&#xda;" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM306 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xdb;" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM175 725l105 113h86l105 -113l-36 -26l-110 93h-4l-110 -93z" />
-<glyph unicode="&#xdc;" horiz-adv-x="645" d="M323 -12q-109 0 -172.5 67t-63.5 216v385h83v-387q0 -208 153 -208q155 0 155 208v387h80v-385q0 -283 -235 -283zM220 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM426 715q-22 0 -35.5 14t-13.5 35 q0 22 13.5 35.5t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#xdd;" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84zM221 697l-37 42l142 128l47 -55z" />
-<glyph unicode="&#xde;" horiz-adv-x="583" d="M90 0v656h83v-110h118q242 0 242 -193q0 -101 -65 -152t-177 -51h-118v-150h-83zM173 218h108q86 0 127.5 32.5t41.5 102.5q0 69 -40.5 97t-128.5 28h-108v-260z" />
-<glyph unicode="&#xdf;" horiz-adv-x="576" d="M387 -12q-74 0 -141 49l33 58q52 -43 106 -43q39 0 61.5 23.5t22.5 56.5q0 32 -20.5 55t-49.5 37.5t-57.5 30.5t-49 43.5t-20.5 65.5q0 30 14 58t30 46.5t30 45t14 54.5q0 39 -21.5 63t-61.5 24q-54 0 -83.5 -39.5t-29.5 -115.5v-500h-82v515q0 95 51.5 151t144.5 56 q76 0 119.5 -42t43.5 -104q0 -34 -14 -64t-31.5 -48.5t-31.5 -42.5t-14 -47q0 -26 20.5 -45.5t49.5 -34t57.5 -31.5t49 -49t20.5 -77q0 -64 -43.5 -106.5t-116.5 -42.5z" />
-<glyph unicode="&#xe0;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM277 573 l-157 153l58 55l141 -167z" />
-<glyph unicode="&#xe1;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM249 573 l-42 41l141 167l58 -55z" />
-<glyph unicode="&#xe2;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM108 600 l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#xe3;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM335 577 q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" />
-<glyph unicode="&#xe4;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM167 587 q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM359 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xe5;" horiz-adv-x="504" d="M194 -12q-62 0 -102 37t-40 101q0 79 71 122t227 60q0 122 -100 122q-69 0 -145 -52l-32 57q98 63 191 63q86 0 127.5 -52.5t41.5 -147.5v-298h-68l-7 58h-3q-85 -70 -161 -70zM218 54q59 0 132 65v135q-118 -15 -168 -44.5t-50 -77.5q0 -39 24 -58.5t62 -19.5zM263 554 q-50 0 -80 28t-30 71t30 70.5t80 27.5t80 -27.5t30 -70.5t-30 -71t-80 -28zM263 591q25 0 41 17t16 45q0 27 -16.5 44t-40.5 17t-40.5 -17t-16.5 -44q0 -28 16 -45t41 -17z" />
-<glyph unicode="&#xe6;" horiz-adv-x="785" d="M201 -12q-63 0 -103 37t-40 101q0 79 70.5 122t223.5 60q0 122 -99 122q-65 0 -141 -52l-33 57q98 63 184 63q106 0 139 -103q62 103 160 103q88 0 136.5 -61.5t48.5 -167.5q0 -28 -3 -46h-315q3 -75 45.5 -121.5t105.5 -46.5q55 0 118 40l30 -57q-78 -50 -158 -50 q-101 0 -171 91q-102 -91 -198 -91zM224 54q35 0 75 20t72 55q-17 39 -19 100v25q-113 -15 -163 -44.5t-50 -77.5q0 -39 23.5 -58.5t61.5 -19.5zM429 278h246q0 75 -29.5 115t-85.5 40q-51 0 -87.5 -42.5t-43.5 -112.5z" />
-<glyph unicode="&#xe7;" horiz-adv-x="456" d="M185 -226l-8 40q61 4 85 16t24 34q0 20 -17.5 31t-59.5 17l37 77q-89 10 -144.5 77t-55.5 176q0 118 68 187t166 69q79 0 142 -57l-42 -54q-48 43 -97 43q-66 0 -109 -52.5t-43 -135.5t41.5 -134.5t108.5 -51.5q60 0 114 49l36 -55q-59 -52 -131 -60l-23 -54 q73 -17 73 -71q0 -83 -165 -91z" />
-<glyph unicode="&#xe8;" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM278 573l-157 153l58 55 l141 -167z" />
-<glyph unicode="&#xe9;" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM250 573l-42 41l141 167 l58 -55z" />
-<glyph unicode="&#xea;" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM109 600l114 140h82 l114 -140l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#xeb;" horiz-adv-x="496" d="M279 -12q-100 0 -166.5 69t-66.5 185q0 114 65 185t153 71q92 0 143 -61.5t51 -166.5q0 -29 -3 -47h-328q5 -77 48.5 -123t113.5 -46q62 0 121 38l29 -54q-78 -50 -160 -50zM126 282h260q0 73 -31.5 112t-88.5 39q-53 0 -93 -40.5t-47 -110.5zM168 587q-22 0 -36 14.5 t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM360 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xec;" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM137 573l-157 153l58 55l141 -167z" />
-<glyph unicode="&#xed;" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM109 573l-42 41l141 167l58 -55z" />
-<glyph unicode="&#xee;" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM-32 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#xef;" horiz-adv-x="246" d="M82 0v486h82v-486h-82zM27 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM219 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xf0;" horiz-adv-x="545" d="M269 -12q-89 0 -152.5 64.5t-63.5 169.5q0 100 58.5 162.5t147.5 62.5q84 0 134 -66q-24 111 -107 192l-141 -73l-24 41l127 65q-52 40 -112 72l38 52q83 -45 138 -91l142 73l24 -41l-129 -66q136 -138 136 -348q0 -120 -59.5 -194.5t-156.5 -74.5zM271 56 q66 0 100.5 53.5t34.5 144.5q0 21 -2 55q-55 74 -133 74q-65 0 -102.5 -45t-37.5 -116q0 -73 41 -119.5t99 -46.5z" />
-<glyph unicode="&#xf1;" horiz-adv-x="547" d="M82 0v486h68l7 -70h3q82 82 163 82q148 0 148 -190v-308h-82v297q0 68 -22 99t-70 31q-35 0 -64 -17.5t-69 -57.5v-352h-82zM364 577q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4 q-2 -62 -27 -98.5t-74 -36.5z" />
-<glyph unicode="&#xf2;" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM285 573l-157 153l58 55l141 -167z " />
-<glyph unicode="&#xf3;" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM257 573l-42 41l141 167l58 -55z " />
-<glyph unicode="&#xf4;" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM116 600l114 140h82l114 -140 l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#xf5;" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM343 577q-30 0 -56 21t-47.5 42 t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" />
-<glyph unicode="&#xf6;" horiz-adv-x="542" d="M271 -12q-94 0 -159.5 69t-65.5 185q0 118 65.5 187t159.5 69t159.5 -69t65.5 -187q0 -116 -65.5 -185t-159.5 -69zM271 56q63 0 101.5 51.5t38.5 134.5q0 84 -38.5 136t-101.5 52q-62 0 -101 -52t-39 -136q0 -83 39 -134.5t101 -51.5zM175 587q-22 0 -36 14.5t-14 35.5 t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM367 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xf7;" d="M34 299v62h429v-62h-429zM249 96q-24 0 -39.5 15t-15.5 39q0 23 16 38t39 15t38.5 -15t15.5 -38q0 -24 -15.5 -39t-38.5 -15zM249 456q-24 0 -39.5 15t-15.5 39q0 23 16 38t39 15t38.5 -15t15.5 -38q0 -24 -15.5 -39t-38.5 -15z" />
-<glyph unicode="&#xf8;" horiz-adv-x="542" d="M271 -12q-79 0 -139 49l-49 -60l-37 29l54 65q-54 70 -54 171q0 118 65.5 187t159.5 69q80 0 139 -50l50 61l36 -29l-54 -65q54 -70 54 -173q0 -116 -65.5 -185t-159.5 -69zM127 246q0 -67 23 -113l214 259q-37 40 -93 40q-63 0 -103.5 -52t-40.5 -134zM271 54 q63 0 103.5 51.5t40.5 133.5q0 67 -24 114l-213 -260q39 -39 93 -39z" />
-<glyph unicode="&#xf9;" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM286 573l-157 153l58 55l141 -167z" />
-<glyph unicode="&#xfa;" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM258 573l-42 41l141 167l58 -55z" />
-<glyph unicode="&#xfb;" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM117 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#xfc;" horiz-adv-x="544" d="M224 -12q-149 0 -149 190v308h83v-297q0 -68 21.5 -99t69.5 -31q37 0 66 19t65 63v345h82v-486h-68l-7 76h-3q-75 -88 -160 -88zM176 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5t-35 -14.5zM368 587q-21 0 -35 14.5t-14 35.5 t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#xfd;" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5zM229 573l-42 41l141 167l58 -55z" />
-<glyph unicode="&#xfe;" horiz-adv-x="555" d="M82 -205v917h82v-194l-1 -83q80 63 148 63q94 0 145 -66.5t51 -181.5q0 -119 -61.5 -190.5t-148.5 -71.5q-64 0 -134 54l1 -83v-164h-82zM283 57q61 0 100 52.5t39 140.5q0 179 -128 179q-56 0 -130 -66v-255q61 -51 119 -51z" />
-<glyph unicode="&#xff;" horiz-adv-x="467" d="M90 -209q-30 0 -57 10l16 65q23 -7 37 -7q75 0 110 104l11 36l-195 487h85l99 -269q20 -56 47 -137h4q8 26 23 76t18 61l87 269h80l-183 -526q-28 -80 -70.5 -124.5t-111.5 -44.5zM147 587q-22 0 -36 14.5t-14 35.5t14 35.5t36 14.5q21 0 35 -14.5t14 -35.5t-14 -35.5 t-35 -14.5zM339 587q-21 0 -35 14.5t-14 35.5t14 35.5t35 14.5q22 0 36 -14.5t14 -35.5t-14 -35.5t-36 -14.5z" />
-<glyph unicode="&#x152;" horiz-adv-x="847" d="M369 0q-149 0 -233 87t-84 244q0 156 84 240.5t237 84.5h415v-70h-278v-206h232v-71h-232v-238h288v-71h-429zM379 68h48v520h-48q-118 0 -179.5 -66t-61.5 -191q0 -126 61.5 -194.5t179.5 -68.5z" />
-<glyph unicode="&#x153;" horiz-adv-x="839" d="M264 -12q-92 0 -155 68.5t-63 185.5q0 118 63.5 187t156.5 69q56 0 103 -32t73 -90q28 57 73 89.5t98 32.5q89 0 138.5 -61.5t49.5 -167.5q0 -28 -3 -46h-319q3 -75 46.5 -121.5t106.5 -46.5q57 0 120 40l30 -57q-78 -50 -160 -50q-57 0 -104 32t-75 89 q-57 -121 -179 -121zM266 56q60 0 98 51.5t38 134.5q0 84 -38 136t-98 52t-98 -52t-38 -136q0 -83 38 -134.5t98 -51.5zM479 278h250q0 74 -31 114.5t-87 40.5q-51 0 -88 -42.5t-44 -112.5z" />
-<glyph unicode="&#x178;" horiz-adv-x="476" d="M196 0v254l-197 402h89l85 -185q46 -105 63 -143h4q57 122 66 143l84 185h87l-197 -402v-254h-84zM135 715q-21 0 -35 14t-14 35q0 22 14 35.5t35 13.5q22 0 35.5 -13.5t13.5 -35.5q0 -21 -13.5 -35t-35.5 -14zM341 715q-22 0 -35.5 14t-13.5 35q0 22 13.5 35.5 t35.5 13.5q21 0 35 -13.5t14 -35.5q0 -21 -14 -35t-35 -14z" />
-<glyph unicode="&#x2c6;" horiz-adv-x="542" d="M116 600l114 140h82l114 -140l-35 -32l-118 113h-4l-118 -113z" />
-<glyph unicode="&#x2dc;" horiz-adv-x="542" d="M343 577q-30 0 -56 21t-47.5 42t-39.5 21q-42 0 -47 -79l-55 3q2 62 27 99t74 37q30 0 56 -21t47.5 -42t40.5 -21q41 0 46 79l55 -4q-2 -62 -27 -98.5t-74 -36.5z" />
-<glyph unicode="&#x2000;" horiz-adv-x="440" />
-<glyph unicode="&#x2001;" horiz-adv-x="880" />
-<glyph unicode="&#x2002;" horiz-adv-x="440" />
-<glyph unicode="&#x2003;" horiz-adv-x="880" />
-<glyph unicode="&#x2004;" horiz-adv-x="293" />
-<glyph unicode="&#x2005;" horiz-adv-x="220" />
-<glyph unicode="&#x2006;" horiz-adv-x="146" />
-<glyph unicode="&#x2007;" horiz-adv-x="146" />
-<glyph unicode="&#x2008;" horiz-adv-x="110" />
-<glyph unicode="&#x2009;" horiz-adv-x="176" />
-<glyph unicode="&#x200a;" horiz-adv-x="48" />
-<glyph unicode="&#x2010;" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" />
-<glyph unicode="&#x2011;" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" />
-<glyph unicode="&#x2012;" horiz-adv-x="311" d="M41 219v63h230v-63h-230z" />
-<glyph unicode="&#x2013;" horiz-adv-x="480" d="M41 223v57h398v-57h-398z" />
-<glyph unicode="&#x2014;" horiz-adv-x="800" d="M41 223v57h718v-57h-718z" />
-<glyph unicode="&#x2018;" horiz-adv-x="249" d="M120 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5q0 -25 -14.5 -40t-38.5 -15z" />
-<glyph unicode="&#x2019;" horiz-adv-x="249" d="M86 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z" />
-<glyph unicode="&#x201a;" horiz-adv-x="249" d="M86 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z" />
-<glyph unicode="&#x201c;" horiz-adv-x="426" d="M120 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5q0 -25 -14.5 -40t-38.5 -15zM297 428q-30 0 -46.5 23.5t-16.5 66.5q0 117 106 178l24 -39q-76 -49 -76 -124q3 1 9 1q22 0 37.5 -13.5t15.5 -37.5 q0 -25 -14.5 -40t-38.5 -15z" />
-<glyph unicode="&#x201d;" horiz-adv-x="426" d="M86 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177zM263 431l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177z " />
-<glyph unicode="&#x201e;" horiz-adv-x="426" d="M86 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67q0 -115 -107 -177zM263 -145l-23 38q75 49 75 125q-3 -1 -8 -1q-22 0 -37.5 13.5t-15.5 36.5q0 26 14.5 41t38.5 15q29 0 46 -24t17 -67 q0 -115 -107 -177z" />
-<glyph unicode="&#x2022;" horiz-adv-x="304" d="M152 143q-46 0 -79 33.5t-33 86.5t33 87t79 34t79 -34t33 -87t-33 -86.5t-79 -33.5z" />
-<glyph unicode="&#x2026;" horiz-adv-x="948" d="M154 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM489 -12q-25 0 -42.5 17.5t-17.5 44.5q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5zM824 -12q-25 0 -42.5 17.5t-17.5 44.5 q0 28 17.5 46t42.5 18t42 -18t17 -46q0 -27 -17.5 -44.5t-41.5 -17.5z" />
-<glyph unicode="&#x202f;" horiz-adv-x="176" />
-<glyph unicode="&#x2039;" horiz-adv-x="271" d="M181 66l-136 155v62l136 155l36 -30l-118 -156l118 -158z" />
-<glyph unicode="&#x203a;" horiz-adv-x="271" d="M89 66l-35 28l118 158l-118 156l35 30l137 -155v-62z" />
-<glyph unicode="&#x205f;" horiz-adv-x="220" />
-<glyph unicode="&#x20ac;" d="M319 -12q-91 0 -153 65.5t-79 181.5h-64v43l59 4q-1 12 -1 36q0 22 1 32h-59v44l64 5q17 118 82.5 184.5t163.5 66.5q87 0 149 -78l-49 -47q-47 59 -103 59q-65 0 -105.5 -48.5t-53.5 -136.5h254v-49h-258q-1 -9 -1 -29q0 -26 1 -38h218v-48h-213q13 -86 52 -133.5 t100 -47.5q66 0 118 71l49 -44q-71 -93 -172 -93z" />
-<glyph unicode="&#x2122;" horiz-adv-x="637" d="M102 366v256h-99v54h259v-54h-100v-256h-60zM310 366v310h73l47 -116l28 -78h4l28 78l46 116h72v-310h-55v137l7 105h-4l-73 -194h-47l-73 194h-4l7 -105v-137h-56z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="485" d="M0 485h485v-485h-485v485z" />
-<glyph unicode="&#xfb01;" horiz-adv-x="556" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM392 0v486h82v-486h-82zM434 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38 t-40.5 -15z" />
-<glyph unicode="&#xfb02;" horiz-adv-x="547" d="M96 0v419h-66v62l66 5v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM461 -12q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" />
-<glyph unicode="&#xfb03;" horiz-adv-x="823" d="M381 0v419h-203v-419h-82v419h-66v62l66 5v64q0 77 38.5 120.5t112.5 43.5q50 0 89 -18l-17 -62q-30 13 -65 13q-36 0 -56 -25.5t-20 -73.5v-62h203v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM659 0 v486h82v-486h-82zM701 586q-24 0 -40.5 15t-16.5 38q0 24 16.5 38.5t40.5 14.5t40.5 -14.5t16.5 -38.5q0 -23 -16.5 -38t-40.5 -15z" />
-<glyph unicode="&#xfb04;" horiz-adv-x="832" d="M381 0v419h-203v-419h-82v419h-66v62l66 5v64q0 77 38.5 120.5t112.5 43.5q50 0 89 -18l-17 -62q-30 13 -65 13q-36 0 -56 -25.5t-20 -73.5v-62h203v77q0 76 35.5 118.5t106.5 42.5q42 0 81 -16l-18 -63q-27 12 -55 12q-68 0 -68 -94v-77h103v-67h-103v-419h-82zM746 -12 q-87 0 -87 110v614h82v-620q0 -36 23 -36q9 0 18 2l11 -62q-18 -8 -47 -8z" />
-<hkern u1="&#x2f;" u2="&#xef;" k="-65" />
-<hkern u1="&#x2f;" u2="&#xee;" k="-65" />
-<hkern u1="&#x2f;" u2="&#xec;" k="-15" />
-<hkern u1="F" u2="&#xef;" k="-36" />
-<hkern u1="F" u2="&#xee;" k="-29" />
-<hkern u1="V" u2="&#xef;" k="-64" />
-<hkern u1="V" u2="&#xee;" k="-53" />
-<hkern u1="V" u2="&#xed;" k="-13" />
-<hkern u1="V" u2="&#xec;" k="-20" />
-<hkern u1="x" u2="&#x3b;" k="-7" />
-<hkern u1="x" u2="&#x2c;" k="-7" />
-<hkern g1="backslash" 	g2="Eth" 	k="29" />
-<hkern g1="backslash" 	g2="g" 	k="-33" />
-<hkern g1="backslash" 	g2="j" 	k="-73" />
-<hkern g1="backslash" 	g2="T" 	k="85" />
-<hkern g1="backslash" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="29" />
-<hkern g1="backslash" 	g2="v" 	k="20" />
-<hkern g1="backslash" 	g2="V" 	k="53" />
-<hkern g1="backslash" 	g2="w" 	k="10" />
-<hkern g1="backslash" 	g2="W" 	k="29" />
-<hkern g1="backslash" 	g2="y,yacute,ydieresis" 	k="-13" />
-<hkern g1="backslash" 	g2="Y,Yacute,Ydieresis" 	k="73" />
-<hkern g1="exclamdown" 	g2="j" 	k="-33" />
-<hkern g1="exclamdown" 	g2="V" 	k="32" />
-<hkern g1="exclamdown" 	g2="W" 	k="16" />
-<hkern g1="exclamdown" 	g2="Y,Yacute,Ydieresis" 	k="45" />
-<hkern g1="periodcentered" 	g2="T" 	k="64" />
-<hkern g1="periodcentered" 	g2="V" 	k="26" />
-<hkern g1="periodcentered" 	g2="Y,Yacute,Ydieresis" 	k="58" />
-<hkern g1="periodcentered" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="24" />
-<hkern g1="periodcentered" 	g2="S" 	k="24" />
-<hkern g1="periodcentered" 	g2="x" 	k="20" />
-<hkern g1="periodcentered" 	g2="X" 	k="26" />
-<hkern g1="periodcentered" 	g2="Z" 	k="38" />
-<hkern g1="questiondown" 	g2="j" 	k="-59" />
-<hkern g1="questiondown" 	g2="T" 	k="87" />
-<hkern g1="questiondown" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="40" />
-<hkern g1="questiondown" 	g2="V" 	k="58" />
-<hkern g1="questiondown" 	g2="W" 	k="40" />
-<hkern g1="questiondown" 	g2="Y,Yacute,Ydieresis" 	k="89" />
-<hkern g1="questiondown" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="62" />
-<hkern g1="questiondown" 	g2="S" 	k="35" />
-<hkern g1="questiondown" 	g2="X" 	k="42" />
-<hkern g1="questiondown" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="35" />
-<hkern g1="questiondown" 	g2="f,uniFB01,uniFB02" 	k="62" />
-<hkern g1="questiondown" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="21" />
-<hkern g1="questiondown" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="44" />
-<hkern g1="slash" 	g2="g" 	k="10" />
-<hkern g1="slash" 	g2="j" 	k="-25" />
-<hkern g1="slash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="40" />
-<hkern g1="slash" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="24" />
-<hkern g1="slash" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="31" />
-<hkern g1="slash" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="slash" 	g2="i,igrave,iacute,icircumflex,idieresis" 	k="-25" />
-<hkern g1="slash" 	g2="J" 	k="80" />
-<hkern g1="slash" 	g2="t" 	k="-9" />
-<hkern g1="slash" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="20" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="t" 	k="14" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="T" 	k="24" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="V" 	k="16" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="W" 	k="4" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="Y,Yacute,Ydieresis" 	k="24" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="question" 	k="12" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="quoteright,quotedblright" 	k="16" />
-<hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" 	g2="asterisk" 	k="54" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="t" 	k="14" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="T" 	k="55" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="V" 	k="14" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="question" 	k="26" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quoteright,quotedblright" 	k="56" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="asterisk" 	k="94" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="periodcentered" 	k="24" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="-23" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="6" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="f,uniFB01,uniFB02" 	k="10" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="s" 	k="-23" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="6" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="15" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="v" 	k="7" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="w" 	k="4" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="x" 	k="4" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="X" 	k="-4" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="y,yacute,ydieresis" 	k="7" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="Z" 	k="8" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quoteleft,quotedblleft" 	k="67" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="quotedbl,quotesingle" 	k="55" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="backslash" 	k="40" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="registered" 	k="80" />
-<hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	g2="trademark" 	k="52" />
-<hkern g1="B" 	g2="t" 	k="10" />
-<hkern g1="B" 	g2="T" 	k="24" />
-<hkern g1="B" 	g2="V" 	k="6" />
-<hkern g1="B" 	g2="W" 	k="4" />
-<hkern g1="B" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="B" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="B" 	g2="asterisk" 	k="30" />
-<hkern g1="B" 	g2="periodcentered" 	k="20" />
-<hkern g1="B" 	g2="v" 	k="14" />
-<hkern g1="B" 	g2="w" 	k="10" />
-<hkern g1="B" 	g2="x" 	k="10" />
-<hkern g1="B" 	g2="X" 	k="4" />
-<hkern g1="B" 	g2="y,yacute,ydieresis" 	k="14" />
-<hkern g1="B" 	g2="Z" 	k="4" />
-<hkern g1="B" 	g2="quoteleft,quotedblleft" 	k="14" />
-<hkern g1="B" 	g2="trademark" 	k="20" />
-<hkern g1="B" 	g2="J" 	k="16" />
-<hkern g1="B" 	g2="S" 	k="14" />
-<hkern g1="c,ccedilla" 	g2="t" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="T" 	k="20" />
-<hkern g1="c,ccedilla" 	g2="V" 	k="14" />
-<hkern g1="c,ccedilla" 	g2="Y,Yacute,Ydieresis" 	k="24" />
-<hkern g1="c,ccedilla" 	g2="periodcentered" 	k="14" />
-<hkern g1="c,ccedilla" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="v" 	k="-6" />
-<hkern g1="c,ccedilla" 	g2="w" 	k="-6" />
-<hkern g1="c,ccedilla" 	g2="x" 	k="-8" />
-<hkern g1="c,ccedilla" 	g2="y,yacute,ydieresis" 	k="-6" />
-<hkern g1="c,ccedilla" 	g2="registered" 	k="-20" />
-<hkern g1="c,ccedilla" 	g2="g" 	k="10" />
-<hkern g1="c,ccedilla" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="21" />
-<hkern g1="c,ccedilla" 	g2="hyphen,uni00AD,endash,emdash" 	k="20" />
-<hkern g1="c,ccedilla" 	g2="guillemotleft,guilsinglleft" 	k="14" />
-<hkern g1="C,Ccedilla" 	g2="t" 	k="27" />
-<hkern g1="C,Ccedilla" 	g2="T" 	k="18" />
-<hkern g1="C,Ccedilla" 	g2="V" 	k="4" />
-<hkern g1="C,Ccedilla" 	g2="W" 	k="4" />
-<hkern g1="C,Ccedilla" 	g2="Y,Yacute,Ydieresis" 	k="7" />
-<hkern g1="C,Ccedilla" 	g2="periodcentered" 	k="52" />
-<hkern g1="C,Ccedilla" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="29" />
-<hkern g1="C,Ccedilla" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="14" />
-<hkern g1="C,Ccedilla" 	g2="v" 	k="14" />
-<hkern g1="C,Ccedilla" 	g2="w" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="X" 	k="4" />
-<hkern g1="C,Ccedilla" 	g2="y,yacute,ydieresis" 	k="14" />
-<hkern g1="C,Ccedilla" 	g2="Z" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="registered" 	k="-10" />
-<hkern g1="C,Ccedilla" 	g2="trademark" 	k="-24" />
-<hkern g1="C,Ccedilla" 	g2="J" 	k="10" />
-<hkern g1="C,Ccedilla" 	g2="S" 	k="24" />
-<hkern g1="C,Ccedilla" 	g2="g" 	k="20" />
-<hkern g1="C,Ccedilla" 	g2="hyphen,uni00AD,endash,emdash" 	k="26" />
-<hkern g1="C,Ccedilla" 	g2="guillemotleft,guilsinglleft" 	k="14" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="t" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="T" 	k="24" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="V" 	k="16" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="W" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="Y,Yacute,Ydieresis" 	k="26" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="question" 	k="7" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="quoteright,quotedblright" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="asterisk" 	k="34" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="periodcentered" 	k="4" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="14" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="v" 	k="-5" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="w" 	k="-5" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="x" 	k="7" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="y,yacute,ydieresis" 	k="-5" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="backslash" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="trademark" 	k="17" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="J" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="S" 	k="20" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="g" 	k="10" />
-<hkern g1="e,ae,egrave,eacute,ecircumflex,edieresis,oe" 	g2="hyphen,uni00AD,endash,emdash" 	k="-10" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="t" 	k="24" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="v" 	k="10" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="x" 	k="31" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="y,yacute,ydieresis" 	k="10" />
-<hkern g1="E,AE,Egrave,Eacute,Ecircumflex,Edieresis,OE" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="f" 	g2="T" 	k="-46" />
-<hkern g1="f" 	g2="V" 	k="-66" />
-<hkern g1="f" 	g2="W" 	k="-46" />
-<hkern g1="f" 	g2="Y,Yacute,Ydieresis" 	k="-59" />
-<hkern g1="f" 	g2="question" 	k="-26" />
-<hkern g1="f" 	g2="quoteright,quotedblright" 	k="-34" />
-<hkern g1="f" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="50" />
-<hkern g1="f" 	g2="periodcentered" 	k="20" />
-<hkern g1="f" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="f" 	g2="s" 	k="4" />
-<hkern g1="f" 	g2="v" 	k="-13" />
-<hkern g1="f" 	g2="x" 	k="4" />
-<hkern g1="f" 	g2="X" 	k="-33" />
-<hkern g1="f" 	g2="quoteleft,quotedblleft" 	k="-34" />
-<hkern g1="f" 	g2="quotedbl,quotesingle" 	k="-40" />
-<hkern g1="f" 	g2="backslash" 	k="-62" />
-<hkern g1="f" 	g2="registered" 	k="-75" />
-<hkern g1="f" 	g2="trademark" 	k="-76" />
-<hkern g1="f" 	g2="g" 	k="14" />
-<hkern g1="f" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="f" 	g2="hyphen,uni00AD,endash,emdash" 	k="14" />
-<hkern g1="f" 	g2="j" 	k="10" />
-<hkern g1="f" 	g2="z" 	k="14" />
-<hkern g1="f" 	g2="parenright,bracketright,braceright" 	k="-49" />
-<hkern g1="f" 	g2="exclam" 	k="-14" />
-<hkern g1="f" 	g2="slash" 	k="14" />
-<hkern g1="F" 	g2="t" 	k="10" />
-<hkern g1="F" 	g2="V" 	k="-4" />
-<hkern g1="F" 	g2="W" 	k="-4" />
-<hkern g1="F" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="72" />
-<hkern g1="F" 	g2="periodcentered" 	k="14" />
-<hkern g1="F" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="34" />
-<hkern g1="F" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="37" />
-<hkern g1="F" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="F" 	g2="s" 	k="20" />
-<hkern g1="F" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="16" />
-<hkern g1="F" 	g2="v" 	k="20" />
-<hkern g1="F" 	g2="w" 	k="16" />
-<hkern g1="F" 	g2="x" 	k="26" />
-<hkern g1="F" 	g2="X" 	k="24" />
-<hkern g1="F" 	g2="y,yacute,ydieresis" 	k="16" />
-<hkern g1="F" 	g2="Z" 	k="30" />
-<hkern g1="F" 	g2="registered" 	k="-20" />
-<hkern g1="F" 	g2="trademark" 	k="-38" />
-<hkern g1="F" 	g2="J" 	k="138" />
-<hkern g1="F" 	g2="S" 	k="20" />
-<hkern g1="F" 	g2="g" 	k="24" />
-<hkern g1="F" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="14" />
-<hkern g1="F" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="F" 	g2="z" 	k="30" />
-<hkern g1="F" 	g2="slash" 	k="69" />
-<hkern g1="F" 	g2="m,n,p,r,ntilde" 	k="20" />
-<hkern g1="germandbls" 	g2="t" 	k="16" />
-<hkern g1="germandbls" 	g2="question" 	k="16" />
-<hkern g1="germandbls" 	g2="quoteright,quotedblright" 	k="56" />
-<hkern g1="germandbls" 	g2="f,uniFB01,uniFB02" 	k="4" />
-<hkern g1="germandbls" 	g2="v" 	k="16" />
-<hkern g1="germandbls" 	g2="w" 	k="14" />
-<hkern g1="germandbls" 	g2="x" 	k="-6" />
-<hkern g1="germandbls" 	g2="y,yacute,ydieresis" 	k="16" />
-<hkern g1="germandbls" 	g2="quoteleft,quotedblleft" 	k="48" />
-<hkern g1="germandbls" 	g2="quotedbl,quotesingle" 	k="67" />
-<hkern g1="germandbls" 	g2="backslash" 	k="26" />
-<hkern g1="germandbls" 	g2="registered" 	k="35" />
-<hkern g1="g" 	g2="T" 	k="26" />
-<hkern g1="g" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="g" 	g2="question" 	k="36" />
-<hkern g1="g" 	g2="asterisk" 	k="33" />
-<hkern g1="g" 	g2="periodcentered" 	k="8" />
-<hkern g1="g" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="16" />
-<hkern g1="g" 	g2="v" 	k="4" />
-<hkern g1="g" 	g2="w" 	k="4" />
-<hkern g1="g" 	g2="y,yacute,ydieresis" 	k="-15" />
-<hkern g1="g" 	g2="registered" 	k="-14" />
-<hkern g1="g" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="14" />
-<hkern g1="g" 	g2="j" 	k="-37" />
-<hkern g1="g" 	g2="z" 	k="14" />
-<hkern g1="g" 	g2="parenright,bracketright,braceright" 	k="-14" />
-<hkern g1="g" 	g2="slash" 	k="-48" />
-<hkern g1="G" 	g2="T" 	k="20" />
-<hkern g1="G" 	g2="V" 	k="14" />
-<hkern g1="G" 	g2="W" 	k="4" />
-<hkern g1="G" 	g2="asterisk" 	k="28" />
-<hkern g1="G" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="4" />
-<hkern g1="G" 	g2="registered" 	k="-8" />
-<hkern g1="G" 	g2="trademark" 	k="-12" />
-<hkern g1="J" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="24" />
-<hkern g1="J" 	g2="J" 	k="40" />
-<hkern g1="k" 	g2="t" 	k="21" />
-<hkern g1="k" 	g2="T" 	k="35" />
-<hkern g1="k" 	g2="Y,Yacute,Ydieresis" 	k="11" />
-<hkern g1="k" 	g2="question" 	k="12" />
-<hkern g1="k" 	g2="quoteright,quotedblright" 	k="26" />
-<hkern g1="k" 	g2="asterisk" 	k="21" />
-<hkern g1="k" 	g2="colon,semicolon" 	k="-13" />
-<hkern g1="k" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="-13" />
-<hkern g1="k" 	g2="periodcentered" 	k="26" />
-<hkern g1="k" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="k" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="14" />
-<hkern g1="k" 	g2="x" 	k="7" />
-<hkern g1="k" 	g2="trademark" 	k="20" />
-<hkern g1="k" 	g2="g" 	k="10" />
-<hkern g1="k" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="18" />
-<hkern g1="k" 	g2="hyphen,uni00AD,endash,emdash" 	k="44" />
-<hkern g1="k" 	g2="guillemotleft,guilsinglleft" 	k="26" />
-<hkern g1="k" 	g2="guillemotright,guilsinglright" 	k="11" />
-<hkern g1="k" 	g2="j" 	k="10" />
-<hkern g1="k" 	g2="z" 	k="7" />
-<hkern g1="K" 	g2="t" 	k="33" />
-<hkern g1="K" 	g2="T" 	k="17" />
-<hkern g1="K" 	g2="V" 	k="12" />
-<hkern g1="K" 	g2="W" 	k="10" />
-<hkern g1="K" 	g2="Y,Yacute,Ydieresis" 	k="16" />
-<hkern g1="K" 	g2="question" 	k="7" />
-<hkern g1="K" 	g2="quoteright,quotedblright" 	k="18" />
-<hkern g1="K" 	g2="asterisk" 	k="40" />
-<hkern g1="K" 	g2="periodcentered" 	k="46" />
-<hkern g1="K" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="10" />
-<hkern g1="K" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="20" />
-<hkern g1="K" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="14" />
-<hkern g1="K" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="14" />
-<hkern g1="K" 	g2="v" 	k="20" />
-<hkern g1="K" 	g2="w" 	k="16" />
-<hkern g1="K" 	g2="x" 	k="16" />
-<hkern g1="K" 	g2="y,yacute,ydieresis" 	k="20" />
-<hkern g1="K" 	g2="quoteleft,quotedblleft" 	k="18" />
-<hkern g1="K" 	g2="quotedbl,quotesingle" 	k="21" />
-<hkern g1="K" 	g2="trademark" 	k="-9" />
-<hkern g1="K" 	g2="S" 	k="9" />
-<hkern g1="K" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="7" />
-<hkern g1="K" 	g2="hyphen,uni00AD,endash,emdash" 	k="30" />
-<hkern g1="K" 	g2="guillemotleft,guilsinglleft" 	k="10" />
-<hkern g1="K" 	g2="guillemotright,guilsinglright" 	k="4" />
-<hkern g1="K" 	g2="j" 	k="10" />
-<hkern g1="K" 	g2="z" 	k="14" />
-<hkern g1="l,uniFB02" 	g2="j" 	k="-8" />
-<hkern g1="L" 	g2="t" 	k="20" />
-<hkern g1="L" 	g2="T" 	k="120" />
-<hkern g1="L" 	g2="V" 	k="76" />
-<hkern g1="L" 	g2="W" 	k="56" />
-<hkern g1="L" 	g2="Y,Yacute,Ydieresis" 	k="76" />
-<hkern g1="L" 	g2="question" 	k="32" />
-<hkern g1="L" 	g2="quoteright,quotedblright" 	k="78" />
-<hkern g1="L" 	g2="asterisk" 	k="152" />
-<hkern g1="L" 	g2="periodcentered" 	k="92" />
-<hkern g1="L" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="-3" />
-<hkern g1="L" 	g2="f,uniFB01,uniFB02" 	k="14" />
-<hkern g1="L" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="26" />
-<hkern g1="L" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="L" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="29" />
-<hkern g1="L" 	g2="v" 	k="36" />
-<hkern g1="L" 	g2="w" 	k="34" />
-<hkern g1="L" 	g2="y,yacute,ydieresis" 	k="36" />
-<hkern g1="L" 	g2="quoteleft,quotedblleft" 	k="78" />
-<hkern g1="L" 	g2="quotedbl,quotesingle" 	k="89" />
-<hkern g1="L" 	g2="backslash" 	k="80" />
-<hkern g1="L" 	g2="registered" 	k="92" />
-<hkern g1="L" 	g2="trademark" 	k="98" />
-<hkern g1="L" 	g2="S" 	k="22" />
-<hkern g1="L" 	g2="g" 	k="4" />
-<hkern g1="L" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="12" />
-<hkern g1="L" 	g2="hyphen,uni00AD,endash,emdash" 	k="54" />
-<hkern g1="L" 	g2="guillemotleft,guilsinglleft" 	k="34" />
-<hkern g1="h,m,n,ntilde" 	g2="T" 	k="24" />
-<hkern g1="h,m,n,ntilde" 	g2="V" 	k="10" />
-<hkern g1="h,m,n,ntilde" 	g2="Y,Yacute,Ydieresis" 	k="16" />
-<hkern g1="h,m,n,ntilde" 	g2="question" 	k="7" />
-<hkern g1="h,m,n,ntilde" 	g2="quoteright,quotedblright" 	k="20" />
-<hkern g1="h,m,n,ntilde" 	g2="asterisk" 	k="34" />
-<hkern g1="h,m,n,ntilde" 	g2="trademark" 	k="20" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="t" 	k="17" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="T" 	k="57" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="V" 	k="19" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="Y,Yacute,Ydieresis" 	k="46" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="question" 	k="12" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quoteright,quotedblright" 	k="26" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="asterisk" 	k="25" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="10" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="14" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="v" 	k="4" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="w" 	k="4" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="x" 	k="17" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="X" 	k="4" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="y,yacute,ydieresis" 	k="4" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quoteleft,quotedblleft" 	k="14" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="quotedbl,quotesingle" 	k="29" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="backslash" 	k="26" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="registered" 	k="7" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="hyphen,uni00AD,endash,emdash" 	k="-6" />
-<hkern g1="b,o,p,ograve,oacute,ocircumflex,otilde,odieresis,oslash,thorn" 	g2="z" 	k="6" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="T" 	k="24" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="V" 	k="10" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="W" 	k="6" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="asterisk" 	k="34" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="10" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="x" 	k="14" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="X" 	k="17" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="Z" 	k="20" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="registered" 	k="-6" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="trademark" 	k="26" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="J" 	k="40" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="z" 	k="7" />
-<hkern g1="D,O,Q,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash" 	g2="slash" 	k="18" />
-<hkern g1="P" 	g2="T" 	k="24" />
-<hkern g1="P" 	g2="Y,Yacute,Ydieresis" 	k="10" />
-<hkern g1="P" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="112" />
-<hkern g1="P" 	g2="periodcentered" 	k="8" />
-<hkern g1="P" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="43" />
-<hkern g1="P" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="50" />
-<hkern g1="P" 	g2="s" 	k="10" />
-<hkern g1="P" 	g2="x" 	k="14" />
-<hkern g1="P" 	g2="X" 	k="24" />
-<hkern g1="P" 	g2="Z" 	k="78" />
-<hkern g1="P" 	g2="registered" 	k="-30" />
-<hkern g1="P" 	g2="J" 	k="146" />
-<hkern g1="P" 	g2="S" 	k="10" />
-<hkern g1="P" 	g2="g" 	k="30" />
-<hkern g1="P" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="24" />
-<hkern g1="P" 	g2="hyphen,uni00AD,endash,emdash" 	k="33" />
-<hkern g1="P" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="P" 	g2="z" 	k="20" />
-<hkern g1="P" 	g2="slash" 	k="75" />
-<hkern g1="r" 	g2="quoteright,quotedblright" 	k="-18" />
-<hkern g1="r" 	g2="colon,semicolon" 	k="-25" />
-<hkern g1="r" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="57" />
-<hkern g1="r" 	g2="periodcentered" 	k="16" />
-<hkern g1="r" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="24" />
-<hkern g1="r" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="14" />
-<hkern g1="r" 	g2="s" 	k="4" />
-<hkern g1="r" 	g2="v" 	k="-25" />
-<hkern g1="r" 	g2="w" 	k="-19" />
-<hkern g1="r" 	g2="y,yacute,ydieresis" 	k="-25" />
-<hkern g1="r" 	g2="Z" 	k="10" />
-<hkern g1="r" 	g2="quoteleft,quotedblleft" 	k="-33" />
-<hkern g1="r" 	g2="backslash" 	k="-13" />
-<hkern g1="r" 	g2="registered" 	k="-62" />
-<hkern g1="r" 	g2="J" 	k="55" />
-<hkern g1="r" 	g2="g" 	k="10" />
-<hkern g1="r" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="r" 	g2="hyphen,uni00AD,endash,emdash" 	k="24" />
-<hkern g1="r" 	g2="guillemotleft,guilsinglleft" 	k="20" />
-<hkern g1="r" 	g2="z" 	k="4" />
-<hkern g1="r" 	g2="slash" 	k="34" />
-<hkern g1="R" 	g2="T" 	k="14" />
-<hkern g1="R" 	g2="V" 	k="-5" />
-<hkern g1="R" 	g2="W" 	k="-6" />
-<hkern g1="R" 	g2="asterisk" 	k="10" />
-<hkern g1="R" 	g2="periodcentered" 	k="10" />
-<hkern g1="R" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="4" />
-<hkern g1="R" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="4" />
-<hkern g1="R" 	g2="x" 	k="7" />
-<hkern g1="R" 	g2="X" 	k="4" />
-<hkern g1="R" 	g2="Z" 	k="10" />
-<hkern g1="R" 	g2="registered" 	k="-25" />
-<hkern g1="R" 	g2="J" 	k="18" />
-<hkern g1="R" 	g2="S" 	k="14" />
-<hkern g1="R" 	g2="g" 	k="4" />
-<hkern g1="R" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="R" 	g2="hyphen,uni00AD,endash,emdash" 	k="31" />
-<hkern g1="R" 	g2="guillemotleft,guilsinglleft" 	k="30" />
-<hkern g1="R" 	g2="guillemotright,guilsinglright" 	k="14" />
-<hkern g1="R" 	g2="z" 	k="7" />
-<hkern g1="s" 	g2="t" 	k="20" />
-<hkern g1="s" 	g2="T" 	k="24" />
-<hkern g1="s" 	g2="V" 	k="10" />
-<hkern g1="s" 	g2="Y,Yacute,Ydieresis" 	k="20" />
-<hkern g1="s" 	g2="question" 	k="11" />
-<hkern g1="s" 	g2="quoteright,quotedblright" 	k="11" />
-<hkern g1="s" 	g2="asterisk" 	k="49" />
-<hkern g1="s" 	g2="hyphen,uni00AD,endash,emdash" 	k="-10" />
-<hkern g1="S" 	g2="t" 	k="24" />
-<hkern g1="S" 	g2="T" 	k="20" />
-<hkern g1="S" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="S" 	g2="quoteright,quotedblright" 	k="11" />
-<hkern g1="S" 	g2="asterisk" 	k="16" />
-<hkern g1="S" 	g2="periodcentered" 	k="11" />
-<hkern g1="S" 	g2="registered" 	k="-3" />
-<hkern g1="S" 	g2="J" 	k="14" />
-<hkern g1="S" 	g2="S" 	k="14" />
-<hkern g1="S" 	g2="hyphen,uni00AD,endash,emdash" 	k="-14" />
-<hkern g1="Thorn" 	g2="asterisk" 	k="62" />
-<hkern g1="Thorn" 	g2="backslash" 	k="40" />
-<hkern g1="Thorn" 	g2="trademark" 	k="24" />
-<hkern g1="Thorn" 	g2="slash" 	k="58" />
-<hkern g1="t" 	g2="t" 	k="20" />
-<hkern g1="t" 	g2="T" 	k="14" />
-<hkern g1="t" 	g2="Y,Yacute,Ydieresis" 	k="4" />
-<hkern g1="t" 	g2="question" 	k="26" />
-<hkern g1="t" 	g2="colon,semicolon" 	k="-14" />
-<hkern g1="t" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="-7" />
-<hkern g1="t" 	g2="periodcentered" 	k="20" />
-<hkern g1="t" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="21" />
-<hkern g1="t" 	g2="s" 	k="10" />
-<hkern g1="t" 	g2="x" 	k="16" />
-<hkern g1="t" 	g2="registered" 	k="-34" />
-<hkern g1="t" 	g2="g" 	k="10" />
-<hkern g1="t" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="14" />
-<hkern g1="t" 	g2="hyphen,uni00AD,endash,emdash" 	k="26" />
-<hkern g1="t" 	g2="guillemotleft,guilsinglleft" 	k="18" />
-<hkern g1="t" 	g2="guillemotright,guilsinglright" 	k="14" />
-<hkern g1="t" 	g2="slash" 	k="-10" />
-<hkern g1="T" 	g2="t" 	k="18" />
-<hkern g1="T" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="T" 	g2="colon,semicolon" 	k="20" />
-<hkern g1="T" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="106" />
-<hkern g1="T" 	g2="periodcentered" 	k="64" />
-<hkern g1="T" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="73" />
-<hkern g1="T" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="40" />
-<hkern g1="T" 	g2="f,uniFB01,uniFB02" 	k="18" />
-<hkern g1="T" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="24" />
-<hkern g1="T" 	g2="s" 	k="59" />
-<hkern g1="T" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="46" />
-<hkern g1="T" 	g2="v" 	k="33" />
-<hkern g1="T" 	g2="w" 	k="34" />
-<hkern g1="T" 	g2="x" 	k="39" />
-<hkern g1="T" 	g2="X" 	k="20" />
-<hkern g1="T" 	g2="y,yacute,ydieresis" 	k="33" />
-<hkern g1="T" 	g2="Z" 	k="54" />
-<hkern g1="T" 	g2="registered" 	k="-20" />
-<hkern g1="T" 	g2="trademark" 	k="-34" />
-<hkern g1="T" 	g2="J" 	k="126" />
-<hkern g1="T" 	g2="S" 	k="39" />
-<hkern g1="T" 	g2="g" 	k="73" />
-<hkern g1="T" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="66" />
-<hkern g1="T" 	g2="hyphen,uni00AD,endash,emdash" 	k="73" />
-<hkern g1="T" 	g2="guillemotleft,guilsinglleft" 	k="47" />
-<hkern g1="T" 	g2="guillemotright,guilsinglright" 	k="40" />
-<hkern g1="T" 	g2="z" 	k="75" />
-<hkern g1="T" 	g2="slash" 	k="89" />
-<hkern g1="T" 	g2="m,n,p,r,ntilde" 	k="46" />
-<hkern g1="T" 	g2="AE" 	k="85" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="T" 	k="20" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="V" 	k="14" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="Y,Yacute,Ydieresis" 	k="30" />
-<hkern g1="q,u,ugrave,uacute,ucircumflex,udieresis" 	g2="asterisk" 	k="24" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="V" 	k="4" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="16" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="4" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="16" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="s" 	k="4" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="x" 	k="7" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="X" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="J" 	k="47" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="S" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="g" 	k="10" />
-<hkern g1="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	g2="slash" 	k="31" />
-<hkern g1="v" 	g2="T" 	k="20" />
-<hkern g1="v" 	g2="V" 	k="9" />
-<hkern g1="v" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="v" 	g2="asterisk" 	k="11" />
-<hkern g1="v" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="35" />
-<hkern g1="v" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="v" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="11" />
-<hkern g1="v" 	g2="Z" 	k="10" />
-<hkern g1="v" 	g2="registered" 	k="-45" />
-<hkern g1="v" 	g2="trademark" 	k="-9" />
-<hkern g1="v" 	g2="J" 	k="40" />
-<hkern g1="v" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="4" />
-<hkern g1="v" 	g2="hyphen,uni00AD,endash,emdash" 	k="7" />
-<hkern g1="v" 	g2="j" 	k="10" />
-<hkern g1="v" 	g2="z" 	k="24" />
-<hkern g1="v" 	g2="slash" 	k="20" />
-<hkern g1="V" 	g2="V" 	k="-10" />
-<hkern g1="V" 	g2="quoteright,quotedblright" 	k="-13" />
-<hkern g1="V" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="65" />
-<hkern g1="V" 	g2="periodcentered" 	k="11" />
-<hkern g1="V" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="22" />
-<hkern g1="V" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="14" />
-<hkern g1="V" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="V" 	g2="s" 	k="12" />
-<hkern g1="V" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="30" />
-<hkern g1="V" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="V" 	g2="v" 	k="9" />
-<hkern g1="V" 	g2="w" 	k="9" />
-<hkern g1="V" 	g2="x" 	k="15" />
-<hkern g1="V" 	g2="y,yacute,ydieresis" 	k="9" />
-<hkern g1="V" 	g2="Z" 	k="19" />
-<hkern g1="V" 	g2="registered" 	k="-53" />
-<hkern g1="V" 	g2="trademark" 	k="-54" />
-<hkern g1="V" 	g2="J" 	k="73" />
-<hkern g1="V" 	g2="S" 	k="10" />
-<hkern g1="V" 	g2="g" 	k="21" />
-<hkern g1="V" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="15" />
-<hkern g1="V" 	g2="hyphen,uni00AD,endash,emdash" 	k="19" />
-<hkern g1="V" 	g2="guillemotleft,guilsinglleft" 	k="21" />
-<hkern g1="V" 	g2="guillemotright,guilsinglright" 	k="19" />
-<hkern g1="V" 	g2="z" 	k="25" />
-<hkern g1="V" 	g2="slash" 	k="47" />
-<hkern g1="V" 	g2="m,n,p,r,ntilde" 	k="20" />
-<hkern g1="w" 	g2="T" 	k="24" />
-<hkern g1="w" 	g2="V" 	k="9" />
-<hkern g1="w" 	g2="Y,Yacute,Ydieresis" 	k="24" />
-<hkern g1="w" 	g2="asterisk" 	k="11" />
-<hkern g1="w" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="41" />
-<hkern g1="w" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="w" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="4" />
-<hkern g1="w" 	g2="X" 	k="14" />
-<hkern g1="w" 	g2="registered" 	k="-38" />
-<hkern g1="w" 	g2="trademark" 	k="-10" />
-<hkern g1="w" 	g2="J" 	k="30" />
-<hkern g1="w" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="4" />
-<hkern g1="w" 	g2="j" 	k="10" />
-<hkern g1="w" 	g2="z" 	k="17" />
-<hkern g1="w" 	g2="slash" 	k="8" />
-<hkern g1="W" 	g2="quoteright,quotedblright" 	k="-13" />
-<hkern g1="W" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="34" />
-<hkern g1="W" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="16" />
-<hkern g1="W" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="6" />
-<hkern g1="W" 	g2="Z" 	k="6" />
-<hkern g1="W" 	g2="registered" 	k="-39" />
-<hkern g1="W" 	g2="trademark" 	k="-34" />
-<hkern g1="W" 	g2="J" 	k="65" />
-<hkern g1="W" 	g2="S" 	k="6" />
-<hkern g1="W" 	g2="g" 	k="13" />
-<hkern g1="W" 	g2="hyphen,uni00AD,endash,emdash" 	k="10" />
-<hkern g1="W" 	g2="guillemotleft,guilsinglleft" 	k="10" />
-<hkern g1="W" 	g2="guillemotright,guilsinglright" 	k="16" />
-<hkern g1="W" 	g2="z" 	k="10" />
-<hkern g1="W" 	g2="slash" 	k="29" />
-<hkern g1="x" 	g2="t" 	k="24" />
-<hkern g1="x" 	g2="T" 	k="33" />
-<hkern g1="x" 	g2="V" 	k="15" />
-<hkern g1="x" 	g2="Y,Yacute,Ydieresis" 	k="34" />
-<hkern g1="x" 	g2="asterisk" 	k="23" />
-<hkern g1="x" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="7" />
-<hkern g1="x" 	g2="periodcentered" 	k="20" />
-<hkern g1="x" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="x" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="10" />
-<hkern g1="x" 	g2="X" 	k="10" />
-<hkern g1="x" 	g2="registered" 	k="-38" />
-<hkern g1="x" 	g2="trademark" 	k="-9" />
-<hkern g1="x" 	g2="S" 	k="4" />
-<hkern g1="x" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="17" />
-<hkern g1="x" 	g2="hyphen,uni00AD,endash,emdash" 	k="14" />
-<hkern g1="x" 	g2="guillemotleft,guilsinglleft" 	k="24" />
-<hkern g1="x" 	g2="guillemotright,guilsinglright" 	k="20" />
-<hkern g1="x" 	g2="exclam" 	k="14" />
-<hkern g1="X" 	g2="t" 	k="16" />
-<hkern g1="X" 	g2="T" 	k="20" />
-<hkern g1="X" 	g2="quoteright,quotedblright" 	k="7" />
-<hkern g1="X" 	g2="asterisk" 	k="10" />
-<hkern g1="X" 	g2="periodcentered" 	k="40" />
-<hkern g1="X" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="10" />
-<hkern g1="X" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="-3" />
-<hkern g1="X" 	g2="f,uniFB01,uniFB02" 	k="16" />
-<hkern g1="X" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="17" />
-<hkern g1="X" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="X" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="X" 	g2="v" 	k="16" />
-<hkern g1="X" 	g2="w" 	k="14" />
-<hkern g1="X" 	g2="x" 	k="10" />
-<hkern g1="X" 	g2="y,yacute,ydieresis" 	k="16" />
-<hkern g1="X" 	g2="quoteleft,quotedblleft" 	k="7" />
-<hkern g1="X" 	g2="quotedbl,quotesingle" 	k="10" />
-<hkern g1="X" 	g2="registered" 	k="-8" />
-<hkern g1="X" 	g2="trademark" 	k="-21" />
-<hkern g1="X" 	g2="S" 	k="14" />
-<hkern g1="X" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="7" />
-<hkern g1="X" 	g2="hyphen,uni00AD,endash,emdash" 	k="27" />
-<hkern g1="X" 	g2="guillemotleft,guilsinglleft" 	k="14" />
-<hkern g1="X" 	g2="guillemotright,guilsinglright" 	k="14" />
-<hkern g1="X" 	g2="z" 	k="14" />
-<hkern g1="y,yacute,ydieresis" 	g2="T" 	k="20" />
-<hkern g1="y,yacute,ydieresis" 	g2="V" 	k="4" />
-<hkern g1="y,yacute,ydieresis" 	g2="Y,Yacute,Ydieresis" 	k="7" />
-<hkern g1="y,yacute,ydieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="35" />
-<hkern g1="y,yacute,ydieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="20" />
-<hkern g1="y,yacute,ydieresis" 	g2="x" 	k="14" />
-<hkern g1="y,yacute,ydieresis" 	g2="X" 	k="4" />
-<hkern g1="y,yacute,ydieresis" 	g2="registered" 	k="-45" />
-<hkern g1="y,yacute,ydieresis" 	g2="trademark" 	k="-13" />
-<hkern g1="y,yacute,ydieresis" 	g2="J" 	k="40" />
-<hkern g1="y,yacute,ydieresis" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="4" />
-<hkern g1="y,yacute,ydieresis" 	g2="guillemotleft,guilsinglleft" 	k="4" />
-<hkern g1="y,yacute,ydieresis" 	g2="guillemotright,guilsinglright" 	k="4" />
-<hkern g1="y,yacute,ydieresis" 	g2="j" 	k="10" />
-<hkern g1="y,yacute,ydieresis" 	g2="z" 	k="24" />
-<hkern g1="y,yacute,ydieresis" 	g2="slash" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="t" 	k="28" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="T" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="question" 	k="7" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="quoteright,quotedblright" 	k="-9" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="colon,semicolon" 	k="25" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="91" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="periodcentered" 	k="46" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="67" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="s" 	k="41" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="34" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="v" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="w" 	k="24" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="x" 	k="34" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="y,yacute,ydieresis" 	k="14" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="Z" 	k="26" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="registered" 	k="-33" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="trademark" 	k="-46" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="J" 	k="100" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="S" 	k="16" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="g" 	k="60" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="41" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="hyphen,uni00AD,endash,emdash" 	k="66" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="guillemotleft,guilsinglleft" 	k="55" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="guillemotright,guilsinglright" 	k="37" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="z" 	k="47" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="slash" 	k="67" />
-<hkern g1="Y,Yacute,Ydieresis" 	g2="m,n,p,r,ntilde" 	k="40" />
-<hkern g1="z" 	g2="T" 	k="26" />
-<hkern g1="z" 	g2="Y,Yacute,Ydieresis" 	k="29" />
-<hkern g1="z" 	g2="periodcentered" 	k="11" />
-<hkern g1="z" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="23" />
-<hkern g1="z" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="10" />
-<hkern g1="z" 	g2="v" 	k="4" />
-<hkern g1="z" 	g2="y,yacute,ydieresis" 	k="4" />
-<hkern g1="z" 	g2="registered" 	k="-25" />
-<hkern g1="z" 	g2="trademark" 	k="-13" />
-<hkern g1="z" 	g2="g" 	k="6" />
-<hkern g1="z" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="10" />
-<hkern g1="z" 	g2="hyphen,uni00AD,endash,emdash" 	k="16" />
-<hkern g1="Z" 	g2="t" 	k="14" />
-<hkern g1="Z" 	g2="V" 	k="6" />
-<hkern g1="Z" 	g2="W" 	k="6" />
-<hkern g1="Z" 	g2="Y,Yacute,Ydieresis" 	k="14" />
-<hkern g1="Z" 	g2="periodcentered" 	k="60" />
-<hkern g1="Z" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="16" />
-<hkern g1="Z" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="6" />
-<hkern g1="Z" 	g2="f,uniFB01,uniFB02" 	k="20" />
-<hkern g1="Z" 	g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" 	k="20" />
-<hkern g1="Z" 	g2="u,ugrave,uacute,ucircumflex,udieresis" 	k="23" />
-<hkern g1="Z" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="10" />
-<hkern g1="Z" 	g2="v" 	k="16" />
-<hkern g1="Z" 	g2="w" 	k="16" />
-<hkern g1="Z" 	g2="x" 	k="24" />
-<hkern g1="Z" 	g2="y,yacute,ydieresis" 	k="16" />
-<hkern g1="Z" 	g2="Z" 	k="16" />
-<hkern g1="Z" 	g2="registered" 	k="-20" />
-<hkern g1="Z" 	g2="trademark" 	k="-20" />
-<hkern g1="Z" 	g2="J" 	k="33" />
-<hkern g1="Z" 	g2="S" 	k="30" />
-<hkern g1="Z" 	g2="g" 	k="14" />
-<hkern g1="Z" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="21" />
-<hkern g1="Z" 	g2="hyphen,uni00AD,endash,emdash" 	k="34" />
-<hkern g1="Z" 	g2="guillemotleft,guilsinglleft" 	k="34" />
-<hkern g1="parenleft,bracketleft,braceleft" 	g2="j" 	k="-80" />
-<hkern g1="parenleft,bracketleft,braceleft" 	g2="J" 	k="20" />
-<hkern g1="colon,semicolon" 	g2="j" 	k="-4" />
-<hkern g1="colon,semicolon" 	g2="Y,Yacute,Ydieresis" 	k="26" />
-<hkern g1="colon,semicolon" 	g2="asterisk" 	k="49" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="j" 	k="-26" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="Y,Yacute,Ydieresis" 	k="92" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="asterisk" 	k="138" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="11" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="t" 	k="46" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="T" 	k="99" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" 	k="20" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="v" 	k="35" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="V" 	k="65" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="w" 	k="22" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="W" 	k="34" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="y,yacute,ydieresis" 	k="20" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quoteleft,quotedblleft" 	k="84" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quoteright,quotedblright" 	k="104" />
-<hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" 	g2="quotedbl,quotesingle" 	k="96" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="J" 	k="20" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="Y,Yacute,Ydieresis" 	k="66" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="t" 	k="26" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="T" 	k="47" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="v" 	k="7" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="V" 	k="19" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="W" 	k="10" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="S" 	k="17" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="x" 	k="14" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="X" 	k="27" />
-<hkern g1="hyphen,uni00AD,endash,emdash" 	g2="Z" 	k="20" />
-<hkern g1="exclam" 	g2="quoteright,quotedblright" 	k="32" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="Y,Yacute,Ydieresis" 	k="37" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="t" 	k="14" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="T" 	k="40" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="v" 	k="4" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="V" 	k="17" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="W" 	k="17" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="y,yacute,ydieresis" 	k="4" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="x" 	k="20" />
-<hkern g1="guillemotleft,guilsinglleft" 	g2="X" 	k="14" />
-<hkern g1="guillemotright,guilsinglright" 	g2="J" 	k="30" />
-<hkern g1="guillemotright,guilsinglright" 	g2="Y,Yacute,Ydieresis" 	k="55" />
-<hkern g1="guillemotright,guilsinglright" 	g2="t" 	k="33" />
-<hkern g1="guillemotright,guilsinglright" 	g2="T" 	k="46" />
-<hkern g1="guillemotright,guilsinglright" 	g2="v" 	k="7" />
-<hkern g1="guillemotright,guilsinglright" 	g2="V" 	k="21" />
-<hkern g1="guillemotright,guilsinglright" 	g2="W" 	k="10" />
-<hkern g1="guillemotright,guilsinglright" 	g2="y,yacute,ydieresis" 	k="7" />
-<hkern g1="guillemotright,guilsinglright" 	g2="S" 	k="30" />
-<hkern g1="guillemotright,guilsinglright" 	g2="x" 	k="24" />
-<hkern g1="guillemotright,guilsinglright" 	g2="X" 	k="14" />
-<hkern g1="guillemotright,guilsinglright" 	g2="Z" 	k="18" />
-<hkern g1="question" 	g2="quoteright,quotedblright" 	k="21" />
-<hkern g1="quoteleft,quotedblleft" 	g2="J" 	k="75" />
-<hkern g1="quoteleft,quotedblleft" 	g2="Y,Yacute,Ydieresis" 	k="-9" />
-<hkern g1="quoteleft,quotedblleft" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="33" />
-<hkern g1="quoteleft,quotedblleft" 	g2="V" 	k="-13" />
-<hkern g1="quoteleft,quotedblleft" 	g2="W" 	k="-13" />
-<hkern g1="quoteleft,quotedblleft" 	g2="S" 	k="14" />
-<hkern g1="quoteleft,quotedblleft" 	g2="X" 	k="7" />
-<hkern g1="quoteleft,quotedblleft" 	g2="AE" 	k="85" />
-<hkern g1="quoteleft,quotedblleft" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="43" />
-<hkern g1="quoteleft,quotedblleft" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="56" />
-<hkern g1="quoteleft,quotedblleft" 	g2="f,uniFB01,uniFB02" 	k="14" />
-<hkern g1="quoteleft,quotedblleft" 	g2="g" 	k="33" />
-<hkern g1="quoteleft,quotedblleft" 	g2="s" 	k="10" />
-<hkern g1="quoteleft,quotedblleft" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="83" />
-<hkern g1="quoteleft,quotedblleft" 	g2="exclamdown" 	k="53" />
-<hkern g1="quoteleft,quotedblleft" 	g2="questiondown" 	k="133" />
-<hkern g1="quoteright,quotedblright" 	g2="J" 	k="82" />
-<hkern g1="quoteright,quotedblright" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="58" />
-<hkern g1="quoteright,quotedblright" 	g2="X" 	k="7" />
-<hkern g1="quoteright,quotedblright" 	g2="AE" 	k="85" />
-<hkern g1="quoteright,quotedblright" 	g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring,ae" 	k="65" />
-<hkern g1="quoteright,quotedblright" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="58" />
-<hkern g1="quoteright,quotedblright" 	g2="f,uniFB01,uniFB02" 	k="16" />
-<hkern g1="quoteright,quotedblright" 	g2="g" 	k="45" />
-<hkern g1="quoteright,quotedblright" 	g2="s" 	k="49" />
-<hkern g1="quoteright,quotedblright" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="132" />
-<hkern g1="quoteright,quotedblright" 	g2="m,n,p,r,ntilde" 	k="13" />
-<hkern g1="quoteright,quotedblright" 	g2="z" 	k="26" />
-<hkern g1="quotedbl,quotesingle" 	g2="J" 	k="95" />
-<hkern g1="quotedbl,quotesingle" 	g2="c,d,e,o,q,ccedilla,egrave,eacute,ecircumflex,edieresis,ograve,oacute,ocircumflex,otilde,odieresis,oslash,oe" 	k="29" />
-<hkern g1="quotedbl,quotesingle" 	g2="S" 	k="10" />
-<hkern g1="quotedbl,quotesingle" 	g2="X" 	k="10" />
-<hkern g1="quotedbl,quotesingle" 	g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" 	k="55" />
-<hkern g1="quotedbl,quotesingle" 	g2="s" 	k="20" />
-<hkern g1="quotedbl,quotesingle" 	g2="comma,period,quotesinglbase,quotedblbase,ellipsis" 	k="115" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf
deleted file mode 100644
index 4d56c337a36dfe84c015c6c021034a536618c7f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 68656
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

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff
deleted file mode 100644
index 4681019d82c0f1d225424e5fd751649cdb265458..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21720
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
I+-(dD09T*lo&W#<

diff --git a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 b/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2
deleted file mode 100644
index 8ddcae37b286d4822b3fc187423725f28cbbebde..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 16636
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
BHzNQ5

diff --git a/docs/global.html b/docs/global.html
index 1fed1a320..fe898c50d 100644
--- a/docs/global.html
+++ b/docs/global.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -166,82 +166,6 @@
 
         
             
-<h4 class="name" id="DEFAULT_THEME">
-    <a href="#DEFAULT_THEME">#</a>
-    <span class="type-signature">(constant) </span>DEFAULT_THEME<span class="type-signature"> :string</span>
-</h4>
-
-
-
-
-<div class="description">
-    <p>default theme</p>
-</div>
-
-
-
-    <div class="member-item-container flex">
-        <strong>Type: </strong>
-        <ul>
-            <li>
-                
-<span class="param-type">string</span>
-
-
-            </li>
-        </ul>
-    </div>
-
-
-
-
-
-
-
-<dl class="details">
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-        
-            
 <h4 class="name" id="Monster">
     <a href="#Monster">#</a>
     <span class="type-signature">(constant) </span>Monster<span class="type-signature"> :Namespace</span>
@@ -338,13 +262,13 @@
 Key and value can be either a definition or a template. The key does not have to be defined.</p>
 <p>You can call the method via the monster namespace <code>Monster.Data.buildMap()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/buildmap.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js';
 console.log(Monster.Data.buildMap())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/buildmap.js';
+import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js';
 console.log(buildMap())
 &lt;/script>
 </code></pre>
diff --git a/docs/global.html#Monster b/docs/global.html#Monster
index 2c8ce8f48..aba3b5d77 100644
--- a/docs/global.html#Monster
+++ b/docs/global.html#Monster
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -250,7 +250,7 @@
 <p>you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.</p>
 <p>To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace <code>X</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';
 function hello() {
            console.log('Hello World!');
        }
@@ -429,14 +429,14 @@ Monster.X.hello(); // ↦ Hello World!
         <p>Version of monster</p>
 <p>you can call the method via the monster namespace <code>Monster.getVersion()</code>.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
 console.log(Monster.getVersion())
 console.log(Monster.getVersion())
 &lt;/script>
 </code></pre>
 <p>Alternatively, you can also integrate this function individually.</p>
 <pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
 console.log(getVersion())
 console.log(getVersion())
 &lt;/script>
diff --git a/docs/index.html b/docs/index.html
index 61afd9a3a..be80856cf 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -142,6 +142,7 @@
     <section class="readme">
         <article><p><img src="https://gitlab.schukai.com/uploads/-/system/project/avatar/337/monster.png?width=255" alt=""></p>
 <h1>Monster</h1>
+<p><img src="https://gitlab.schukai.com/oss/libraries/javascript/monster/badges/master/pipeline.svg?style=flat-square" alt=""></p>
 <p><strong>Build fantastic websites!</strong></p>
 <p>Monster is a lightweight, robust and easy-to-use library with modest ambitions. Monster integrates easily into your existing websites without taking over everything.</p>
 <p>It is not the goal of Monster to pull in a completely new abstraction with its own language, but to combine the existing techniques of HTML, CSS and Javascript in a meaningful way.</p>
diff --git a/docs/logging_handler.js.html b/docs/logging_handler.js.html
deleted file mode 100644
index d947b6e35..000000000
--- a/docs/logging_handler.js.html
+++ /dev/null
@@ -1,368 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/handler.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/handler.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from '../types/base.js';
-import {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from "./logger.js";
-import {LogEntry} from "./logentry.js";
-import {validateInstance, validateInteger} from "../types/validate.js";
-
-/**
- * you can call the method via the monster namespace `new Monster.Logging.Handler()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
- * console.log(new Monster.Logging.Handler())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
- * console.log(new Handler())
- * &lt;/script>
- * ```
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Logging
- */
-class Handler extends Base {
-    constructor() {
-        super();
-
-        /**
-         * Loglevel
-         * 
-         * @type {integer} 
-         */
-        this.loglevel = OFF;
-    }
-
-    /**
-     * this is the central log function. this method must be
-     * overwritten by derived handlers with their own logic.
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {LogEntry} entry
-     * @returns {boolean}
-     */
-    log(entry) {
-        validateInstance(entry, LogEntry);
-
-        if (this.loglevel &lt; entry.getLogLevel()) {
-            return false;
-        }
-
-        return true;
-    }
-
-    /**
-     * set loglevel
-     *
-     * @param {integer} loglevel
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setLogLevel(loglevel) {
-        validateInteger(loglevel)
-        this.loglevel = loglevel;
-        return this;
-    }
-
-    /**
-     * get loglevel
-     *
-     * @returns {integer}
-     * @since 1.5.0
-     */
-    getLogLevel() {
-        return this.loglevel;
-    }
-
-    /**
-     *  Set log level to All
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setAll() {
-        this.setLogLevel(ALL);
-        return this;
-    };
-
-    /**
-     * Set log level to Trace
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setTrace() {
-        this.setLogLevel(TRACE);
-        return this;
-    };
-
-    /**
-     * Set log level to Debug
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setDebug() {
-        this.setLogLevel(DEBUG);
-        return this;
-    };
-
-    /**
-     * Set log level to Info
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setInfo() {
-        this.setLogLevel(INFO);
-        return this;
-    };
-
-    /**
-     * Set log level to Warn
-     *
-     * @returns {undefined}
-     * @since 1.5.0
-     */
-    setWarn() {
-        this.setLogLevel(WARN);
-        return this;
-    };
-
-    /**
-     * Set log level to Error
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setError() {
-        this.setLogLevel(ERROR);
-        return this;
-    };
-
-    /**
-     * Set log level to Fatal
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setFatal() {
-        this.setLogLevel(FATAL);
-        return this;
-    };
-
-
-    /**
-     * Set log level to Off
-     *
-     * @returns {Handler}
-     * @since 1.5.0
-     */
-    setOff() {
-        this.setLogLevel(OFF);
-        return this;
-    };
-
-
-}
-
-
-Monster.assignToNamespace('Monster.Logging', Handler);
-export {Monster, Handler};
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/logging_handler_console.js.html b/docs/logging_handler_console.js.html
deleted file mode 100644
index 948d9eee8..000000000
--- a/docs/logging_handler_console.js.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/handler/console.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/handler/console.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../../namespace.js';
-import {Base} from '../../types/base.js';
-import {Handler} from '../../logging/handler.js';
-
-/**
- * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
- * console.log(new Monster.Logging.Handler.ConsoleHandler())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
- * console.log(new ConsoleHandler())
- * &lt;/script>
- * ```
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Logging/Handler
- */
-class ConsoleHandler extends Base {
-    constructor() {
-        super();
-    }
-}
-
-
-Monster.assignToNamespace('Monster.Logging', ConsoleHandler);
-export {Monster, Handler};
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/logging_handler_namespace.js.html b/docs/logging_handler_namespace.js.html
deleted file mode 100644
index c39aac6d5..000000000
--- a/docs/logging_handler_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/handler/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/handler/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Logging/Handler
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Logging.Handler";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/logging_logentry.js.html b/docs/logging_logentry.js.html
deleted file mode 100644
index a0212fb03..000000000
--- a/docs/logging_logentry.js.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/logentry.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/logentry.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {validateInteger} from '../types/validate.js';
-import {Base} from  '../types/base.js';
-
-
-/**
- * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
- * console.log(new Monster.Logging.LogEntry())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
- * console.log(new LogEntry())
- * &lt;/script>
- * ```
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Logging
- */
-class LogEntry extends Base {
-    /**
-     *
-     * @param {int} loglevel
-     * @param {*} args
-     */
-    constructor(loglevel, ...args) {
-        super();
-        validateInteger(loglevel);
-
-        this.loglevel = loglevel
-        this.arguments = args
-    }
-
-    /**
-     *
-     * @returns {integerr}
-     */
-    getLogLevel() {
-        return this.loglevel
-    }
-
-    /**
-     *
-     * @returns {array}
-     */
-    getArguments() {
-        return this.arguments
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Logging', LogEntry);
-export {Monster, LogEntry}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/logging_logger.js.html b/docs/logging_logger.js.html
deleted file mode 100644
index e7f366490..000000000
--- a/docs/logging_logger.js.html
+++ /dev/null
@@ -1,464 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/logger.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/logger.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {validateInteger, validateObject, validateString} from '../types/validate.js';
-import {Handler} from '../logging/handler.js';
-import {LogEntry} from '../logging/logentry.js';
-import {Base} from '../types/base.js';
-
-
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const ALL = 255;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const TRACE = 64;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const DEBUG = 32;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const INFO = 16;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const WARN = 8;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const ERROR = 4;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const FATAL = 2;
-/**
- * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF
- * @type {number}
- * @memberOf Monster/Logging
- */
-const OFF = 0;
-
-/**
- * you can call the method via the monster namespace `new Monster.Logging.Logger()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
- * console.log(new Monster.Logging.Logger())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
- * console.log(new Logger())
- * &lt;/script>
- * ```
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Logging
- */
-class Logger extends Base {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-        this.handler = new Set;
-    }
-
-    /**
-     *
-     * @param {Handler} handler
-     * @returns {Logger}
-     * @throws {Error} the handler must be an instance of Handler
-     */
-    addHandler(handler) {
-        validateObject(handler)
-        if (!(handler instanceof Handler)) {
-            throw new Error("the handler must be an instance of Handler")
-        }
-
-        this.handler.add(handler)
-        return this;
-    }
-
-    /**
-     *
-     * @param {Handler} handler
-     * @returns {Logger}
-     * @throws {Error} the handler must be an instance of Handler
-     */
-    removeHandler(handler) {
-        validateObject(handler)
-        if (!(handler instanceof Handler)) {
-            throw new Error("the handler must be an instance of Handler")
-        }
-
-        this.handler.delete(handler);
-        return this;
-    }
-
-    /**
-     * log Trace message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logTrace() {
-        triggerLog.apply(this, [TRACE, ...arguments]);
-        return this;
-    };
-
-    /**
-     * log Debug message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logDebug() {
-        triggerLog.apply(this, [DEBUG, ...arguments]);
-        return this;
-    };
-
-    /**
-     * log Info message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logInfo() {
-        triggerLog.apply(this, [INFO, ...arguments]);
-        return this;
-    };
-
-    /**
-     * log Warn message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logWarn() {
-        triggerLog.apply(this, [WARN, ...arguments]);
-        return this;
-    };
-
-    /**
-     * log Error message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logError() {
-        triggerLog.apply(this, [ERROR, ...arguments]);
-        return this;
-    };
-
-    /**
-     * log Fatal message
-     *
-     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;
-     *
-     * @param {*} arguments
-     * @returns {Logger}
-     * @since 1.5.0
-     */
-    logFatal() {
-        triggerLog.apply(this, [FATAL, ...arguments]);
-        return this;
-    };
-
-
-    /**
-     * Labels
-     *
-     * @param {integer} level
-     * @returns {string}
-     */
-    getLabel(level) {
-        validateInteger(level);
-
-        if (level === ALL) return 'ALL';
-        if (level === TRACE) return 'TRACE';
-        if (level === DEBUG) return 'DEBUG';
-        if (level === INFO) return 'INFO';
-        if (level === WARN) return 'WARN';
-        if (level === ERROR) return 'ERROR';
-        if (level === FATAL) return 'FATAL';
-        if (level === OFF) return 'OFF';
-
-        return 'unknown';
-    };
-
-    /**
-     * Level
-     *
-     * @param {string} label
-     * @returns {integer}
-     */
-    getLevel(label) {
-        validateString(label);
-
-        if (label === 'ALL') return ALL;
-        if (label === 'TRACE') return TRACE;
-        if (label === 'DEBUG') return DEBUG;
-        if (label === 'INFO') return INFO;
-        if (label === 'WARN') return WARN;
-        if (label === 'ERROR') return ERROR;
-        if (label === 'FATAL') return FATAL;
-        if (label === 'OFF') return OFF;
-
-        return 0;
-    };
-
-
-}
-
-Monster.assignToNamespace('Monster.Logging', Logger);
-export {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};
-
-
-/**
- * Log triggern
- *
- * @param {integer} loglevel
- * @param {*} args
- * @returns {Logger}
- * @private
- */
-function triggerLog(loglevel, ...args) {
-    var logger = this;
-
-    for (let handler of logger.handler) {
-        handler.log(new LogEntry(loglevel, args))
-    }
-
-    return logger;
-
-}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/logging_namespace.js.html b/docs/logging_namespace.js.html
deleted file mode 100644
index a34c27064..000000000
--- a/docs/logging_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      logging/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        logging/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Logging
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Logging";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/math_namespace.js.html b/docs/math_namespace.js.html
deleted file mode 100644
index 2abe34280..000000000
--- a/docs/math_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      math/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        math/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Math
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Math";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/math_random.js.html b/docs/math_random.js.html
deleted file mode 100644
index 483ba0b37..000000000
--- a/docs/math_random.js.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      math/random.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        math/random.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-
-import {Monster, getGlobal} from '../types/global.js';
-
-
-/**
- * this function uses crypt and returns a random number.
- *
- * you can call the method via the monster namespace `Monster.Math.random()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
- * console.log(Monster.Math.random(1,10)) // ↦ 5
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
- * console.log(random(1,10)) // ↦ 5
- * &lt;/script>
- * ```
- *
- * @param {number} min starting value of the definition set (default is 0)
- * @param {number} max end value of the definition set (default is 1000000000)
- * @returns {number}
- * @memberOf Monster/Math
-
- * @since 1.0.0
- * @copyright schukai GmbH
- */
-function random(min, max) {
-
-    if (min === undefined) {
-        min = 0;
-    }
-    if (max === undefined) {
-        max = MAX;
-    }
-
-    if (max &lt; min) {
-        throw new Error("max must be greater than min");
-    }
-
-    return Math.round(create(min, max));
-
-}
-
-/**
- * @private
- * @type {number}
- */
-var MAX = 1000000000;
-
-
-Math.log2 = Math.log2 || function (n) {
-    return Math.log(n) / Math.log(2);
-};
-
-/**
- *
- * @param min
- * @param max
- * @returns {*}
- * @private
- */
-function create(min, max) {
-    let crypt;
-    let globalReference = getGlobal();
-
-    crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;
-
-    if (typeof crypt === "undefined") {
-        throw new Error("missing crypt")
-    }
-
-    let rval = 0;
-    const range = max - min;
-    if (range &lt; 2) {
-        return min;
-    }
-
-    const bitsNeeded = Math.ceil(Math.log2(range));
-    if (bitsNeeded > 53) {
-        throw  new Error("we cannot generate numbers larger than 53 bits.");
-    }
-    const bytesNeeded = Math.ceil(bitsNeeded / 8);
-    const mask = Math.pow(2, bitsNeeded) - 1;
-
-    const byteArray = new Uint8Array(bytesNeeded);
-    crypt.getRandomValues(byteArray);
-
-    let p = (bytesNeeded - 1) * 8;
-    for (var i = 0; i &lt; bytesNeeded; i++) {
-        rval += byteArray[i] * Math.pow(2, p);
-        p -= 8;
-    }
-
-    rval = rval &amp; mask;
-
-    if (rval >= range) {
-        return create(min, max);
-    }
-
-    return min + rval;
-
-}
-
-Monster.assignToNamespace('Monster.Math', random);
-export {Monster, random}
-
-
-
-
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/namespace.js.html b/docs/namespace.js.html
deleted file mode 100644
index 2d5d092d3..000000000
--- a/docs/namespace.js.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster
- * @author schukai GmbH
- */
-
-
-/**
- * namespace class objects form the basic framework of the namespace administration.
- *
- * all functions, classes and objects of the library hang within the namespace tree.
- *
- * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.
- *
- * @memberOf Monster
- * @copyright schukai GmbH
- * @since 1.0.0
- */
-class Namespace {
-
-    /**
-     *
-     * @param namespace
-     * @param obj
-     */
-    constructor(namespace) {
-        if (namespace === undefined || typeof namespace !== 'string') {
-            throw new Error("namespace is not a string")
-        }
-        this.namespace = namespace;
-    }
-
-    /**
-     *
-     * @returns {string}
-     */
-    getNamespace() {
-        return this.namespace;
-    }
-
-    /**
-     *
-     * @returns {string}
-     */
-    toString() {
-        return this.getNamespace();
-    }
-}
-
-/**
- * @type {Namespace}
- * @global
- */
-export const Monster = new Namespace("Monster");
-
-
-/**
- *
- */
-assignToNamespace('Monster', assignToNamespace);
-
-/**
- * To expand monster, the `Monster.assignToNamespace()` method can be used. 
- *
- * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.
- * 
- * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';
- * function hello() {
- *            console.log('Hello World!');
- *        }
- * Monster.assignToNamespace("Monster.X",hello)
- * Monster.X.hello(); // ↦ Hello World!
- * &lt;/script>
- * 
- * ```
- *
- * @param ns
- * @param obj
- * @memberOf Monster
- 
- */
-function assignToNamespace(ns, ...obj) {
-    let current = namespaceFor(ns.split("."));
-
-    for (let i = 0, l = obj.length; i &lt; l; i++) {
-        current[objectName(obj[i])] = obj[i];
-    }
-}
-
-/**
- *
- * @param fn
- * @returns {string|*}
- * @private
- */
-function objectName(fn) {
-    try {
-
-        if (typeof fn !== 'function') {
-            throw  new Error("the first argument is not a function or class.");
-        }
-
-        if (fn.hasOwnProperty('name')) {
-            return fn.name;
-        }
-
-        if ("function" === typeof fn.toString) {
-            let s = fn.toString();
-            let f = s.match(/^\s*function\s+([^\s(]+)/);
-            if (Array.isArray(f) &amp;&amp; typeof f[1] === 'string') {
-                return f[1];
-            }
-            let c = s.match(/^\s*class\s+([^\s(]+)/);
-            if (Array.isArray(c) &amp;&amp; typeof c[1] === 'string') {
-                return c[1];
-            }
-        }
-
-    } catch (e) {
-        throw new Error("exception " + e);
-    }
-
-    throw  new Error("the name of the class or function cannot be resolved.");
-}
-
-/**
- *
- * @param parts
- * @returns {Namespace}
- * @private
- */
-function namespaceFor(parts) {
-    var space = Monster, ns = 'Monster';
-
-    for (let i = 0; i &lt; parts.length; i++) {
-
-        if ("Monster" === parts[i]) {
-            continue;
-        }
-
-        ns += '.' + parts[i];
-
-        if (!space.hasOwnProperty(parts[i])) {
-            space[parts[i]] = new Namespace(ns);
-        }
-
-        space = space[parts[i]];
-    }
-
-    return space;
-}
-
-
-export {assignToNamespace}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/namespace_Monster_DOM.Assembler.html b/docs/namespace_Monster_DOM.Assembler.html
deleted file mode 100644
index 5a0ee9c11..000000000
--- a/docs/namespace_Monster_DOM.Assembler.html
+++ /dev/null
@@ -1,815 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    
-    <meta charset="utf-8">
-    <title>Assembler - awaken the monster in you; javascript library by schukai GmbH</title>
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-    
-    <script src="scripts/prettify/prettify.js"></script>
-    <script src="scripts/prettify/lang-css.js"></script>
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/prettify.css">
-    <link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
-    <script src="scripts/nav.js" defer></script>
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-</head>
-<body>
-
-<input type="checkbox" id="nav-trigger" class="nav-trigger" />
-<label for="nav-trigger" class="navicon-button x">
-  <div class="navicon"></div>
-</label>
-
-<label for="nav-trigger" class="overlay"></label>
-
-<nav >
-    
-    <input type="text" id="nav-search" placeholder="Search" />
-    
-    <h2><a href="index.html">Home</a></h2><h2><a href="https://www.schukai.com/" target="_blank" class="menu-item" id="schukai_link" >schukai GmbH</a></h2><h2><a href="https://www.npmjs.com/package/@schukai/monster" target="_blank" class="menu-item" id="npm_link" >NPM</a></h2><h3>Namespaces</h3><ul><li><a href="global.html#Monster">Monster</a><ul class='methods'><li data-type='method' style='display: none;'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method' style='display: none;'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li></ul><h3>Classes</h3><ul><li><a href="Monster.Namespace.html">Namespace</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method' style='display: none;'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li><a href="Monster_Constraints.AndOperator.html">AndOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Invalid.html">Invalid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsArray.html">IsArray</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.IsObject.html">IsObject</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.OrOperator.html">OrOperator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Constraints.Valid.html">Valid</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li><a href="Monster_Data.Pathfinder.html">Pathfinder</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li><a href="Monster_Data.Pipe.html">Pipe</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li><a href="Monster_Data.Transformer.html">Transformer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method' style='display: none;'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li><a href="Monster_DOM.Handle.html">Handle</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#append">append</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Handle.html#update">update</a></li></ul></li><li><a href="Monster_DOM.Template.html">Template</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li><a href="Monster_Logging.Handler.html">Handler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li><a href="Monster_Logging.LogEntry.html">LogEntry</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li><a href="Monster_Logging.Logger.html">Logger</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method' style='display: none;'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li><a href="Monster_Types.Base.html">Base</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.ID.html">ID</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.Observer.html">Observer</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li><a href="Monster_Types.ObserverList.html">ObserverList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li><a href="Monster_Types.Queue.html">Queue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.RandomID.html">RandomID</a></li><li><a href="Monster_Types.Stack.html">Stack</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li><a href="Monster_Types.TokenList.html">TokenList</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li><a href="Monster_Types.Version.html">Version</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method' style='display: none;'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li><a href="Monster_Util.Comparator.html">Comparator</a><ul class='methods'><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method' style='display: none;'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li><li><a href="namespace_Monster_DOM.Assembler.html">Assembler</a><ul class='methods'><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method' style='display: none;'><a href="namespace_Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li></ul><h3><a href="global.html">Global</a></h3>
-</nav>
-
-<div id="main">
-    
-    <h1 class="page-title">Assembler</h1>
-    
-
-    
-
-
-
-
-<section>
-
-<header>
-    
-        <h2>
-        Assembler
-        </h2>
-        
-            <div class="class-description usertext"><p>assembler class</p>
-<p>you can call the method via the monster namespace <code>new Monster.DOM.Assembler()</code>.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js';
-console.log(new Monster.DOM.Assembler())
-&lt;/script>
-</code></pre>
-<p>Alternatively, you can also integrate this function individually.</p>
-<pre class="prettyprint source"><code>&lt;script type=&quot;module&quot;>
-import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/assembler.js';
-console.log(new Assembler())
-&lt;/script>
-</code></pre></div>
-        
-    
-</header>
-
-<article>
-    
-        <div class="container-overview">
-        
-            
-
-    
-    <h2>Constructor</h2>
-    
-
-    <h4 class="name" id="Assembler"><span class="type-signature"></span>new Assembler<span class="signature">(fragment)</span><span class="type-signature"></span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line44">line 44</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-    <dt class="tag-since">Since:</dt>
-    <dd class="tag-since"><ul class="dummy"><li>1.6.0</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-    <dt class="tag-copyright">Copyright:</dt>
-    <dd class="tag-copyright"><ul class="dummy"><li>schukai GmbH</li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>fragment</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">DocumentFragment</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-<ul>
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not an instance of</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not a function</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    
-        <li>
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>the function is not defined</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">Error</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-</li>
-    </ul>
-
-
-
-
-
-        
-        </div>
-    
-
-    
-
-    
-
-    
-    
-    
-
-     
-
-    
-
-    
-
-    
-        <h3 class="subsection-title">Methods</h3>
-
-        
-            
-
-    
-
-    <h4 class="name" id="createDocumentFragment"><span class="type-signature"></span>createDocumentFragment<span class="signature">(data)</span><span class="type-signature"> &rarr; {DocumentFragment}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line85">line 85</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>data</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">ProxyObserver</span>
-|
-
-<span class="param-type">undefined</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-
-        
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not an instance of</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-
-    
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">DocumentFragment</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="getAttributePrefix"><span class="type-signature"></span>getAttributePrefix<span class="signature">()</span><span class="type-signature"> &rarr; {string}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line75">line 75</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">string</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-            
-
-    
-
-    <h4 class="name" id="setAttributePrefix"><span class="type-signature"></span>setAttributePrefix<span class="signature">(prefix)</span><span class="type-signature"> &rarr; {Assembler}</span></h4>
-
-    
-
-
-
-
-<dl class="details">
-
-    
-    <dt class="tag-source">Source:</dt>
-    <dd class="tag-source"><ul class="dummy"><li>
-        <a href="dom_assembler.js.html">dom/assembler.js</a>, <a href="dom_assembler.js.html#line65">line 65</a>
-    </li></ul></dd>
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-
-    
-</dl>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    <h5>Parameters:</h5>
-    
-
-<table class="params">
-    <thead>
-    <tr>
-        
-        <th>Name</th>
-        
-
-        <th>Type</th>
-
-        
-
-        
-
-        <th class="last">Description</th>
-    </tr>
-    </thead>
-
-    <tbody>
-    
-
-        <tr>
-            
-                <td class="name"><code>prefix</code></td>
-            
-
-            <td class="type">
-            
-                
-<span class="param-type">string</span>
-
-
-            
-            </td>
-
-            
-
-            
-
-            <td class="description last"></td>
-        </tr>
-
-    
-    </tbody>
-</table>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h5>Throws:</h5>
-
-        
-
-<dl>
-    <dt>
-        <div class="param-desc usertext">
-        <p>value is not a string</p>
-        </div>
-    </dt>
-    <dd></dd>
-    <dt>
-        <dl class="param-type">
-            <dt>
-                Type
-            </dt>
-            <dd>
-                
-<span class="param-type">TypeError</span>
-
-
-            </dd>
-        </dl>
-    </dt>
-    <dd></dd>
-</dl>
-
-
-    
-
-
-<h5>Returns:</h5>
-
-        
-
-
-<dl class="param-type">
-    <dt>
-        Type
-    </dt>
-    <dd>
-        
-<span class="param-type">Assembler</span>
-
-
-    </dd>
-</dl>
-
-    
-
-
-
-        
-    
-
-    
-
-    
-</article>
-
-</section>
-
-
-
-
-    
-    
-</div>
-
-<br class="clear">
-
-<footer>
-</footer>
-
-<script>prettyPrint();</script>
-<script src="scripts/polyfill.js"></script>
-<script src="scripts/linenumber.js"></script>
-
-<script src="scripts/search.js" defer></script>
-
-
-<script src="scripts/collapse.js" defer></script>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/scripts/collapse.js b/docs/scripts/collapse.js
deleted file mode 100644
index 327039fb3..000000000
--- a/docs/scripts/collapse.js
+++ /dev/null
@@ -1,20 +0,0 @@
-function hideAllButCurrent(){
-    //by default all submenut items are hidden
-    //but we need to rehide them for search
-    document.querySelectorAll("nav > ul > li > ul li").forEach(function(parent) {
-        parent.style.display = "none";
-    });
-    
-    //only current page (if it exists) should be opened
-    var file = window.location.pathname.split("/").pop().replace(/\.html/, '');
-    document.querySelectorAll("nav > ul > li > a").forEach(function(parent) {
-        var href = parent.attributes.href.value.replace(/\.html/, '');
-        if (file === href) {
-            parent.parentNode.querySelectorAll("ul li").forEach(function(elem) {
-                elem.style.display = "block";
-            });
-        }
-    });
-}
-
-hideAllButCurrent();
\ No newline at end of file
diff --git a/docs/scripts/nav.js b/docs/scripts/nav.js
deleted file mode 100644
index 6dd831342..000000000
--- a/docs/scripts/nav.js
+++ /dev/null
@@ -1,12 +0,0 @@
-function scrollToNavItem() {
-    var path = window.location.href.split('/').pop().replace(/\.html/, '');
-    document.querySelectorAll('nav a').forEach(function(link) {
-      var href = link.attributes.href.value.replace(/\.html/, '');
-      if (path === href) {
-        link.scrollIntoView({block: 'center'});
-        return;
-      }
-    })
-  }
-
-  scrollToNavItem();
diff --git a/docs/scripts/polyfill.js b/docs/scripts/polyfill.js
deleted file mode 100644
index 44b4c92dc..000000000
--- a/docs/scripts/polyfill.js
+++ /dev/null
@@ -1,4 +0,0 @@
-//IE Fix, src: https://www.reddit.com/r/programminghorror/comments/6abmcr/nodelist_lacks_foreach_in_internet_explorer/
-if (typeof(NodeList.prototype.forEach)!==typeof(alert)){
-    NodeList.prototype.forEach=Array.prototype.forEach;
-}
\ No newline at end of file
diff --git a/docs/scripts/prettify/Apache-License-2.0.txt b/docs/scripts/prettify/Apache-License-2.0.txt
deleted file mode 100644
index d64569567..000000000
--- a/docs/scripts/prettify/Apache-License-2.0.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/docs/scripts/prettify/lang-css.js b/docs/scripts/prettify/lang-css.js
deleted file mode 100644
index 041e1f590..000000000
--- a/docs/scripts/prettify/lang-css.js
+++ /dev/null
@@ -1,2 +0,0 @@
-PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n"]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com",
-/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]);
diff --git a/docs/scripts/prettify/prettify.js b/docs/scripts/prettify/prettify.js
deleted file mode 100644
index eef5ad7e6..000000000
--- a/docs/scripts/prettify/prettify.js
+++ /dev/null
@@ -1,28 +0,0 @@
-var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
-(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
-[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
-f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
-(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
-{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
-t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
-"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
-l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
-q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
-q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
-"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
-a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
-for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
-m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
-a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
-j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
-"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
-H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
-J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
-I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
-["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
-/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
-["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
-hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
-!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
-250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
-PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
diff --git a/docs/styles/jsdoc.css b/docs/styles/jsdoc.css
deleted file mode 100644
index eb452659b..000000000
--- a/docs/styles/jsdoc.css
+++ /dev/null
@@ -1,765 +0,0 @@
-* {
-  box-sizing: border-box
-}
-
-html, body {
-  height: 100%;
-  width: 100%;
-}
-
-body {
-  color: #4d4e53;
-  background-color: white;
-  margin: 0 auto;
-  padding: 0 20px;
-  font-family: 'Helvetica Neue', Helvetica, sans-serif;
-  font-size: 16px;
-}
-
-img {
-  max-width: 100%;
-}
-
-a,
-a:active {
-  color: #606;
-  text-decoration: none;
-}
-
-a:hover {
-  text-decoration: none;
-}
-
-article a {
-  border-bottom: 1px solid #ddd;
-}
-
-article a:hover, article a:active {
-  border-bottom-color: #222;
-}
-
-article .description a {
-    word-break: break-word;
-}
-
-p, ul, ol, blockquote {
-  margin-bottom: 1em;
-  line-height: 160%;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  font-family: 'Montserrat', sans-serif;
-}
-
-h1, h2, h3, h4, h5, h6 {
-  color: #000;
-  font-weight: 400;
-  margin: 0;
-}
-
-h1 {
-  font-weight: 300;
-  font-size: 48px;
-  margin: 1em 0 .5em;
-}
-
-h1.page-title {
-  font-size: 48px;
-  margin: 1em 30px;
-  line-height: 100%;
-  word-wrap: break-word;
-}
-
-h2 {
-  font-size: 24px;
-  margin: 1.5em 0 .3em;
-}
-
-h3 {
-  font-size: 24px;
-  margin: 1.2em 0 .3em;
-}
-
-h4 {
-  font-size: 18px;
-  margin: 1em 0 .2em;
-  color: #4d4e53;
-}
-
-h4.name {
-  color: #fff;
-  background: #6d426d;
-  box-shadow: 0 .25em .5em #d3d3d3;
-  border-top: 1px solid #d3d3d3;
-  border-bottom: 1px solid #d3d3d3;
-  margin: 1.5em 0 0.5em;
-  padding: .75em 0 .75em 10px;
-}
-
-h4.name a {
-  color: #fc83ff;
-}
-
-h4.name a:hover {
-  border-bottom-color: #fc83ff;
-}
-
-h5, .container-overview .subsection-title {
-  font-size: 120%;
-  letter-spacing: -0.01em;
-  margin: 8px 0 3px 0;
-}
-
-h6 {
-  font-size: 100%;
-  letter-spacing: -0.01em;
-  margin: 6px 0 3px 0;
-  font-style: italic;
-}
-
-.usertext h1 {
-  font-family: "Source Sans Pro";
-  font-size: 24px;
-  margin: 2.5em 0 1em;
-  font-weight: 400;
-}
-
-.usertext h2 {
-  font-family: "Source Sans Pro";
-  font-size: 18px;
-  margin: 2em 0 0.5em;
-  font-weight: 400;
-
-}
-
-.usertext h3 {
-  font-family: "Source Sans Pro";
-  font-size: 15px;
-  margin: 1.5em 0 0;
-  font-weight: 400;
-}
-
-.usertext h4 {
-  font-family: "Source Sans Pro";
-  font-size: 14px;
-  margin: 0 0 0;
-  font-weight: 400;
-}
-
-.usertext h5 {
-  font-size: 12px;
-  margin: 1em 0 0;
-  font-weight: normal;
-  color: #666;
-}
-
-.usertext h6 {
-  font-size: 11px;
-  margin: 1em 0 0;
-  font-weight: normal;
-  font-style: normal;
-  color: #666;
-}
-
-
-tt, code, kbd, samp {
-  font-family: Consolas, Monaco, 'Andale Mono', monospace;
-  background: #f4f4f4;
-  padding: 1px 5px;
-}
-
-.class-description {
-  font-size: 130%;
-  line-height: 140%;
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-.class-description:empty {
-  margin: 0
-}
-
-#main {
-  float: right;
-  width: calc(100% - 240px);
-}
-
-header {
-  display: block
-}
-
-section {
-  display: block;
-  background-color: #fff;
-  padding: 0 0 0 30px;
-}
-
-.variation {
-  display: none
-}
-
-.signature-attributes {
-  font-size: 60%;
-  color: #eee;
-  font-style: italic;
-  font-weight: lighter;
-}
-
-nav {
-  float: left;
-  display: block;
-  width: 250px;
-  background: #fff;
-  overflow: auto;
-  position: fixed;
-  height: 100%;
-}
-
-nav #nav-search{
-    width: 210px;
-    height: 30px;
-    padding: 5px 10px;
-    font-size: 12px;
-    line-height: 1.5;
-    border-radius: 3px;
-    margin-right: 20px;
-    margin-top: 20px;
-}
-
-nav.wrap a{
-    word-wrap: break-word;
-}
-
-nav h3 {
-  margin-top: 12px;
-  font-size: 13px;
-  text-transform: uppercase;
-  letter-spacing: 1px;
-  font-weight: 700;
-  line-height: 24px;
-  margin: 15px 0 10px;
-  padding: 0;
-  color: #000;
-}
-
-nav ul {
-  font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif;
-  font-size: 100%;
-  line-height: 17px;
-  padding: 0;
-  margin: 0;
-  list-style-type: none;
-}
-
-nav ul a,
-nav ul a:active {
-  font-family: 'Montserrat', sans-serif;
-  line-height: 18px;
-  padding: 0;
-  display: block;
-  font-size: 12px;
-}
-
-nav a:hover,
-nav a:active {
-  color: #606;
-}
-
-nav > ul {
-  padding: 0 10px;
-}
-
-nav > ul > li > a {
-  color: #606;
-  margin-top: 10px;
-}
-
-nav ul ul a {
-  color: hsl(207, 1%, 60%);
-  border-left: 1px solid hsl(207, 10%, 86%);
-}
-
-nav ul ul a,
-nav ul ul a:active {
-  padding-left: 20px
-}
-
-nav h2 {
-   font-size: 13px;
-   margin: 10px 0 0 0;
-   padding: 0;
-}
-
-nav > h2 > a {
-   margin: 10px 0 -10px;
-   color: #606 !important;
-}
-
-footer {
-  color: hsl(0, 0%, 28%);
-  margin-left: 250px;
-  display: block;
-  padding: 15px;
-  font-style: italic;
-  font-size: 90%;
-}
-
-.ancestors {
-  color: #999
-}
-
-.ancestors a {
-   color: #999 !important;
-}
-
-.clear {
-  clear: both
-}
-
-.important {
-  font-weight: bold;
-  color: #950B02;
-}
-
-.yes-def {
-  text-indent: -1000px
-}
-
-.type-signature {
-  color: #CA79CA
-}
-
-.type-signature:last-child {
-  color: #eee;
-}
-
-.name, .signature {
-  font-family: Consolas, Monaco, 'Andale Mono', monospace
-}
-
-.signature {
-    color: #fc83ff;
-}
-
-.details {
-  margin-top: 6px;
-  border-left: 2px solid #DDD;
-  line-height: 20px;
-  font-size: 14px;
-}
-
-.details dt {
-   width: auto;
-   float: left;
-   padding-left: 10px;
-}
-
-.details dd {
-   margin-left: 70px;
-   margin-top: 6px;
-   margin-bottom: 6px;
-}
-
-.details ul {
-   margin: 0
-}
-
-.details ul {
-   list-style-type: none
-}
-
-.details pre.prettyprint {
-   margin: 0
-}
-
-.details .object-value {
-   padding-top: 0
-}
-
-.description {
-  margin-bottom: 1em;
-  margin-top: 1em;
-}
-
-.code-caption {
-  font-style: italic;
-  font-size: 107%;
-  margin: 0;
-}
-
-.prettyprint {
-  font-size: 14px;
-  overflow: auto;
-}
-
-.prettyprint.source {
-  width: inherit;
-  line-height: 18px;
-  display: block;
-  background-color: #0d152a;
-  color: #aeaeae;
-}
-
-.prettyprint code {
-  line-height: 18px;
-  display: block;
-  background-color: #0d152a;
-  color: #4D4E53;
-}
-
-.prettyprint > code {
-  padding: 15px;
-}
-
-.prettyprint .linenums code {
-  padding: 0 15px
-}
-
-.prettyprint .linenums li:first-of-type code {
-  padding-top: 15px
-}
-
-.prettyprint code span.line {
-  display: inline-block
-}
-
-.prettyprint.linenums {
-  padding-left: 70px;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-
-.prettyprint.linenums ol {
-   padding-left: 0
-}
-
-.prettyprint.linenums li {
-   border-left: 3px #34446B solid;
-}
-
-.prettyprint.linenums li.selected, .prettyprint.linenums li.selected * {
-   background-color: #34446B;
-}
-
-.prettyprint.linenums li * {
-   -webkit-user-select: text;
-   -moz-user-select: text;
-   -ms-user-select: text;
-   user-select: text;
-}
-
-.prettyprint.linenums li code:empty:after {
-  content:"";
-  display:inline-block;
-  width:0px;
-}
-
-table {
-  border-spacing: 0;
-  border: 1px solid #ddd;
-  border-collapse: collapse;
-  border-radius: 3px;
-  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
-  width: 100%;
-  font-size: 14px;
-  margin: 1em 0;
-}
-
-td, th {
-   margin: 0px;
-   text-align: left;
-   vertical-align: top;
-   padding: 10px;
-   display: table-cell;
-}
-
-thead tr, thead tr {
-   background-color: #fff;
-   font-weight: bold;
-   border-bottom: 1px solid #ddd;
-}
-
-.params .type {
-  white-space: nowrap;
-}
-
-.params code {
-  white-space: pre;
-}
-
-.params td, .params .name, .props .name, .name code {
-   color: #4D4E53;
-   font-family: Consolas, Monaco, 'Andale Mono', monospace;
-   font-size: 100%;
-}
-
-.params td {
-   border-top: 1px solid #eee
-}
-
-.params td.description > p:first-child, .props td.description > p:first-child {
-   margin-top: 0;
-   padding-top: 0;
-}
-
-.params td.description > p:last-child, .props td.description > p:last-child {
-   margin-bottom: 0;
-   padding-bottom: 0;
-}
-
-span.param-type, .params td .param-type, .param-type dd {
-   color: #606;
-  font-family: Consolas, Monaco, 'Andale Mono', monospace
-}
-
-.param-type dt, .param-type dd {
-  display: inline-block
-}
-
-.param-type {
-  margin: 14px 0;
-}
-
-.disabled {
-  color: #454545
-}
-
-/* navicon button */
-.navicon-button {
-  display: none;
-  position: relative;
-  padding: 2.0625rem 1.5rem;
-  transition: 0.25s;
-  cursor: pointer;
-  -webkit-user-select: none;
-     -moz-user-select: none;
-      -ms-user-select: none;
-          user-select: none;
-  opacity: .8;
-}
-.navicon-button .navicon:before, .navicon-button .navicon:after {
-  transition: 0.25s;
-}
-.navicon-button:hover {
-  transition: 0.5s;
-  opacity: 1;
-}
-.navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
-  transition: 0.25s;
-}
-.navicon-button:hover .navicon:before {
-  top: .825rem;
-}
-.navicon-button:hover .navicon:after {
-  top: -.825rem;
-}
-
-/* navicon */
-.navicon {
-  position: relative;
-  width: 2.5em;
-  height: .3125rem;
-  background: #000;
-  transition: 0.3s;
-  border-radius: 2.5rem;
-}
-.navicon:before, .navicon:after {
-  display: block;
-  content: "";
-  height: .3125rem;
-  width: 2.5rem;
-  background: #000;
-  position: absolute;
-  z-index: -1;
-  transition: 0.3s 0.25s;
-  border-radius: 1rem;
-}
-.navicon:before {
-  top: .625rem;
-}
-.navicon:after {
-  top: -.625rem;
-}
-
-/* open */
-.nav-trigger:checked + label:not(.steps) .navicon:before,
-.nav-trigger:checked + label:not(.steps) .navicon:after {
-  top: 0 !important;
-}
-
-.nav-trigger:checked + label .navicon:before,
-.nav-trigger:checked + label .navicon:after {
-  transition: 0.5s;
-}
-
-/* Minus */
-.nav-trigger:checked + label {
-  -webkit-transform: scale(0.75);
-          transform: scale(0.75);
-}
-
-/* × and + */
-.nav-trigger:checked + label.plus .navicon,
-.nav-trigger:checked + label.x .navicon {
-  background: transparent;
-}
-
-.nav-trigger:checked + label.plus .navicon:before,
-.nav-trigger:checked + label.x .navicon:before {
-  -webkit-transform: rotate(-45deg);
-          transform: rotate(-45deg);
-  background: #FFF;
-}
-
-.nav-trigger:checked + label.plus .navicon:after,
-.nav-trigger:checked + label.x .navicon:after {
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-  background: #FFF;
-}
-
-.nav-trigger:checked + label.plus {
-  -webkit-transform: scale(0.75) rotate(45deg);
-          transform: scale(0.75) rotate(45deg);
-}
-
-.nav-trigger:checked ~ nav {
-  left: 0 !important;
-}
-
-.nav-trigger:checked ~ .overlay {
-  display: block;
-}
-
-.nav-trigger {
-  position: fixed;
-  top: 0;
-  clip: rect(0, 0, 0, 0);
-}
-
-.overlay {
-  display: none;
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  width: 100%;
-  height: 100%;
-  background: hsla(0, 0%, 0%, 0.5);
-  z-index: 1;
-}
-
-/* nav level */
-.level-hide {
-    display: none;
-}
-html[data-search-mode] .level-hide {
-    display: block;
-}
-
-
-@media only screen and (max-width: 680px) {
-  body {
-    overflow-x: hidden;
-  }
-
-  nav {
-    background: #FFF;
-    width: 250px;
-    height: 100%;
-    position: fixed;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: -250px;
-    z-index: 3;
-    padding: 0 10px;
-    transition: left 0.2s;
-  }
-
-  .navicon-button {
-    display: inline-block;
-    position: fixed;
-    top: 1.5em;
-    right: 0;
-    z-index: 2;
-  }
-
-  #main {
-    width: 100%;
-  }
-
-  #main h1.page-title {
-    margin: 1em 0;
-  }
-
-  #main section {
-    padding: 0;
-  }
-
-  footer {
-    margin-left: 0;
-  }
-}
-
-/** Add a '#' to static members */
-[data-type="member"] a::before {
-  content: '#';
-  display: inline-block;
-  margin-left: -14px;
-  margin-right: 5px;
-}
-
-#disqus_thread{
-    margin-left: 30px;
-}
-
-@font-face {
-  font-family: 'Montserrat';
-  font-style: normal;
-  font-weight: 400;
-  src: url('../fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */
-  src: url('../fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2'), /* Super Modern Browsers */
-       url('../fonts/Montserrat/Montserrat-Regular.woff') format('woff'), /* Pretty Modern Browsers */
-       url('../fonts/Montserrat/Montserrat-Regular.ttf')  format('truetype'); /* Safari, Android, iOS */
-}
-
-@font-face {
-  font-family: 'Montserrat';
-  font-style: normal;
-  font-weight: 700;
-  src: url('../fonts/Montserrat/Montserrat-Bold.eot'); /* IE9 Compat Modes */
-  src: url('../fonts/Montserrat/Montserrat-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
-       url('../fonts/Montserrat/Montserrat-Bold.woff2') format('woff2'), /* Super Modern Browsers */
-       url('../fonts/Montserrat/Montserrat-Bold.woff') format('woff'), /* Pretty Modern Browsers */
-       url('../fonts/Montserrat/Montserrat-Bold.ttf')  format('truetype'); /* Safari, Android, iOS */
-}
-
-@font-face {
-    font-family: 'Source Sans Pro';
-    src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot');
-    src: url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot?#iefix') format('embedded-opentype'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2') format('woff2'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff') format('woff'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf') format('truetype'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.svg#source_sans_proregular') format('svg');
-    font-weight: 400;
-    font-style: normal;
-}
-
-@font-face {
-    font-family: 'Source Sans Pro';
-    src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot');
-    src: url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot?#iefix') format('embedded-opentype'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2') format('woff2'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff') format('woff'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf') format('truetype'),
-         url('../fonts/Source-Sans-Pro/sourcesanspro-light-webfont.svg#source_sans_prolight') format('svg');
-    font-weight: 300;
-    font-style: normal;
-
-}
\ No newline at end of file
diff --git a/docs/styles/prettify.css b/docs/styles/prettify.css
deleted file mode 100644
index d9521ec85..000000000
--- a/docs/styles/prettify.css
+++ /dev/null
@@ -1,79 +0,0 @@
-.pln {
-  color: #ddd;
-}
-
-/* string content */
-.str {
-  color: #61ce3c;
-}
-
-/* a keyword */
-.kwd {
-  color: #fbde2d;
-}
-
-/* a comment */
-.com {
-  color: #aeaeae;
-}
-
-/* a type name */
-.typ {
-  color: #8da6ce;
-}
-
-/* a literal value */
-.lit {
-  color: #fbde2d;
-}
-
-/* punctuation */
-.pun {
-  color: #ddd;
-}
-
-/* lisp open bracket */
-.opn {
-  color: #000000;
-}
-
-/* lisp close bracket */
-.clo {
-  color: #000000;
-}
-
-/* a markup tag name */
-.tag {
-  color: #8da6ce;
-}
-
-/* a markup attribute name */
-.atn {
-  color: #fbde2d;
-}
-
-/* a markup attribute value */
-.atv {
-  color: #ddd;
-}
-
-/* a declaration */
-.dec {
-  color: #EF5050;
-}
-
-/* a variable name */
-.var {
-  color: #c82829;
-}
-
-/* a function name */
-.fun {
-  color: #4271ae;
-}
-
-/* Specify class=linenums on a pre to get line numbering */
-ol.linenums {
-  margin-top: 0;
-  margin-bottom: 0;
-}
diff --git a/docs/tutorial-dom-based-templating-implementation.html b/docs/tutorial-dom-based-templating-implementation.html
new file mode 100644
index 000000000..b6003a3ac
--- /dev/null
+++ b/docs/tutorial-dom-based-templating-implementation.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Adding meta -->
+    
+    
+    <meta name="author" content="schukai GmbH" />
+    
+    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
+    
+    
+
+    <!-- Adding external script-->
+    
+    
+    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
+    
+    
+
+    <!-- Adding external style-->
+    
+    
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
+    
+    
+
+    <!-- Adding scripts-->
+    
+
+    <!-- Adding style-->
+    
+
+    <!-- Adding overlay script-->
+    
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
+      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
+      crossorigin="anonymous"></script>
+    
+
+    <!-- Adding overlay style-->
+    
+
+
+    <title>
+      Tutorial: dom-based-templating-implementation
+    </title>
+
+    <!--[if lt IE 9]>
+      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
+    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
+    <link type="text/css" rel="stylesheet" href="styles/reset.css">
+    <link type="text/css" rel="stylesheet" href="styles/heading.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
+    
+    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+    style="display:none">
+    <defs>
+        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
+            <g>
+                <path
+                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
+                <path
+                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
+            </g>
+        </symbol>
+        <symbol id='search-icon' viewBox="0 0 512 512">
+            <g>
+                <g>
+                    <path
+                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
+                </g>
+            </g>
+            <g>
+                <g>
+                    <path
+                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
+                </g>
+            </g>
+        </symbol>
+        <symbol id="down-icon" viewBox="0 0 16 16">
+            <path 
+                fill-rule="evenodd" 
+                clip-rule="evenodd" 
+                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
+            >
+            </path>
+        </symbol>
+    </defs>
+</svg>
+  </head>
+
+  <body>
+
+    <nav class="navbar" id="navbar">
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      
+        <div class="navbar-resize" id="navbar-resize">
+          <div class="resize-dots-container">
+            <div class="dots"></div>
+            <div class="dots"></div>
+            <div class="dots"></div>
+          </div> 
+        </div>
+      
+
+    </nav>
+    <div class="navbar-ham" id="navbar-ham">
+      <div>
+        <div class="first"></div>
+        <div class="second"></div>
+        <div class="third"></div>
+      </div>
+    </div>
+
+    <div id="main" class="main-content">
+      
+      <h1 id='page-title' class="page-title">
+        Tutorial: dom-based-templating-implementation
+      </h1>
+      
+
+      <section>
+
+<header>
+    
+
+    <h2>dom-based-templating-implementation</h2>
+</header>
+
+<article>
+    <p>Monster uses a DOM-based template approach. All Monster templates are<br>
+valid, parsable HTML that has been extended with some special attributes.</p>
+<h2>replace</h2>
+<p>The simplest manipulation is to replace the content of a tag.<br>
+To do this, simply use the <code>data-monster-replace</code> attribute.</p>
+<pre class="prettyprint source"><code>&lt;div data-monster-replace=&quot;static:hello&quot;>&lt;/div>
+</code></pre>
+<p>The result is then the following html:</p>
+<pre class="prettyprint source"><code>&lt;div data-monster-replace=&quot;static:hello&quot;>hello&lt;/div>
+</code></pre>
+</article>
+
+</section>
+
+    </div>
+
+    <footer class="footer" id="footer">
+      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
+    </footer>
+
+    <script src="scripts/third-party/prettify.js"></script>
+    <script src="scripts/third-party/lang-css.js"></script>
+    <script type="text/javascript" src="scripts/misc.js"></script>
+
+    <script>prettyPrint();</script>
+    <script src="scripts/linenumber.js"></script>
+    <script src="scripts/fix-code-block.js"></script>
+    <script src="scripts/fix-navbar.js"></script>
+    
+
+    
+
+    
+      <script src="scripts/resize.js"></script>
+      <script type="text/javascript">
+        var option = {"min":"300","max":"600"}
+        setupResizeOptions(option)
+      </script>
+    
+
+    
+
+    
+    <script type="text/javascript">
+    var option = JSON.parse('{"options":{}}')
+      console.log(option)
+      document.addEventListener("DOMContentLoaded", function () {
+        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
+      });
+    </script>
+    
+
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/docs/tutorial-getting-started.html b/docs/tutorial-getting-started.html
index cfd74b989..17f37455e 100644
--- a/docs/tutorial-getting-started.html
+++ b/docs/tutorial-getting-started.html
@@ -99,7 +99,7 @@
   <body>
 
     <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="1870222" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-getting-started.html">Getting Started</a></li></ul> </div><div class="accordion collapsed" id="153315" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=2997708><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=2256968><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7206066><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=5294606><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3416750><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3537275><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=78419><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9017288><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9686741><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8200280><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=4439813><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=1840323><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7808805><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=6578187><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=676599><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=2181446><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=9737278><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=6644596><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=154753><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6017140><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=8745767><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=830698><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4584906><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=3202256><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=9258270><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=8566217><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=510165><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=3791234><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=1271373><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5839936><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1183189" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=4182122><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=7292969><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7801010><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=1232612><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=6346020><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=8117887><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="8818259" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
       
         <div class="navbar-resize" id="navbar-resize">
           <div class="resize-dots-container">
@@ -135,15 +135,14 @@
 </header>
 
 <article>
-    <p>Monster can be loaded as a collection of useful functions and classes as a single<br>
-javascript file and used via the namespace 'Monster. Alternatively, and if possible,<br>
-it is preferable to use the required functions via the module import.</p>
-<p>The entire Monster repos can be fetched either via <a href="https://gitlab.schukai.com/oss/libraries/javascript/monster">git</a>.<br>
-But the files are also available via <a href="https://www.npmjs.com/package/@schukai/monster">NPM</a><br>
-and the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsdelivr</a>.</p>
-<p>In the example, an html page is integrated with a simple javascript. We use only the desired function for this.</p>
-<p>We use the versions class <code>Version()</code> to create and output a version.</p>
-<pre class="prettyprint source lang-@example"><code>&lt;!DOCTYPE html>
+    <p>You'll need basic HTML, CSS, and JavaScript skills for Monster. If you're just
+starting out with frontend development, you should have a good beginner's
+guide open alongside this one.</p>
+<p>You can also post your questions on <a href="https://stackoverflow.com/questions/ask?tags=javascript,monster">Stack Overflow</a>.</p>
+<p>To get started with Monster, all you need is a text editor and a browser.
+The best way is to copy the following example into a file and save it as
+index.html.</p>
+<pre class="prettyprint source"><code>&lt;!DOCTYPE html>
 &lt;html lang=&quot;en&quot;>
 &lt;head>
     &lt;meta charset=&quot;utf-8&quot;>
@@ -151,35 +150,50 @@ and the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsde
 &lt;/head>
 &lt;body>
 
+&lt;div>your version is
+    &lt;spay id=&quot;version&quot;>&lt;/spay>
+&lt;/div>
+
 &lt;script type=&quot;module&quot;>
-    import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
-    console.log(new Version('1.0.0')) // ↦ 1.0.0
+    import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
+    document.getElementById('version').innerText = new Version('1.0.0').toString();
 &lt;/script>
 
 
 &lt;/body>
 &lt;/html>
 </code></pre>
-<p>Important here is the attribute <code>type</code> of the script tag. This must be specified and have the value <code>module</code>.</p>
-<p>If you do not have the possibility to work with modules or if you use a lot from Monster, you can go the<br>
-classic way via the integration of the entire collection.</p>
+<p>Now open this file with your browser.</p>
+<p>What did you do? you used the class 'Version' of monster and created a Version object. They then output this in a span.</p>
+<p><strong>Voila!</strong></p>
+<p>As seen above in the version example, each monster class or function can be used independently.
+Alternatively, Monster can be used as a collection of many useful classes and functions via
+the <code>Monster</code> namespace as a single javascript file.</p>
 <pre class="prettyprint source"><code>&lt;!DOCTYPE html>
 &lt;html lang=&quot;en&quot;>
 &lt;head>
     &lt;meta charset=&quot;utf-8&quot;>
     &lt;title>awaken the monster in you!&lt;/title>
-    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/monster.js&quot;>&lt;/script>
+    &lt;script src=&quot;https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/monster.js&quot;>&lt;/script>
 &lt;/head>
 &lt;body>
 
+&lt;div>your version is
+    &lt;spay id=&quot;version&quot;>&lt;/spay>
+&lt;/div>
+
 &lt;script>
-    console.log(new Monster.Types.Version('1.0.0')) // ↦ 1.0.0
+    document.getElementById('version').innerText = new Monster.Types.Version('1.0.0').toString();
 &lt;/script>
 
 &lt;/body>
 &lt;/html>
 </code></pre>
-<p>Voila!</p>
+<p>Besides the CDN <a href="https://www.jsdelivr.com/package/npm/@schukai/monster">jsdelivr</a>,<br>
+Monster can also be obtained via <a href="https://www.npmjs.com/package/@schukai/monster">NPM</a><br>
+or the <a href="https://gitlab.schukai.com/oss/libraries/javascript/monster">git repos</a>.</p>
+<p>Monster itself has no dependencies and does not dictate anything to you,<br>
+you can use Monster with Bootstrap, jQuery or other cool frameworks.</p>
 </article>
 
 </section>
diff --git a/docs/tutorial-tutorial.html b/docs/tutorial-tutorial.html
new file mode 100644
index 000000000..6a93c46c0
--- /dev/null
+++ b/docs/tutorial-tutorial.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Adding meta -->
+    
+    
+    <meta name="author" content="schukai GmbH" />
+    
+    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
+    
+    
+
+    <!-- Adding external script-->
+    
+    
+    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
+    
+    
+
+    <!-- Adding external style-->
+    
+    
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
+    
+    
+
+    <!-- Adding scripts-->
+    
+
+    <!-- Adding style-->
+    
+
+    <!-- Adding overlay script-->
+    
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
+      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
+      crossorigin="anonymous"></script>
+    
+
+    <!-- Adding overlay style-->
+    
+
+
+    <title>
+      Tutorial: Monster - Build fantastic websites!
+    </title>
+
+    <!--[if lt IE 9]>
+      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
+    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
+    <link type="text/css" rel="stylesheet" href="styles/reset.css">
+    <link type="text/css" rel="stylesheet" href="styles/heading.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
+    
+    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+    style="display:none">
+    <defs>
+        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
+            <g>
+                <path
+                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
+                <path
+                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
+            </g>
+        </symbol>
+        <symbol id='search-icon' viewBox="0 0 512 512">
+            <g>
+                <g>
+                    <path
+                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
+                </g>
+            </g>
+            <g>
+                <g>
+                    <path
+                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
+                </g>
+            </g>
+        </symbol>
+        <symbol id="down-icon" viewBox="0 0 16 16">
+            <path 
+                fill-rule="evenodd" 
+                clip-rule="evenodd" 
+                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
+            >
+            </path>
+        </symbol>
+    </defs>
+</svg>
+  </head>
+
+  <body>
+
+    <nav class="navbar" id="navbar">
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      
+        <div class="navbar-resize" id="navbar-resize">
+          <div class="resize-dots-container">
+            <div class="dots"></div>
+            <div class="dots"></div>
+            <div class="dots"></div>
+          </div> 
+        </div>
+      
+
+    </nav>
+    <div class="navbar-ham" id="navbar-ham">
+      <div>
+        <div class="first"></div>
+        <div class="second"></div>
+        <div class="third"></div>
+      </div>
+    </div>
+
+    <div id="main" class="main-content">
+      
+      <h1 id='page-title' class="page-title">
+        Tutorial: Monster - Build fantastic websites!
+      </h1>
+      
+
+      <section>
+
+<header>
+    
+    <ul>
+        <li><a href="tutorial-what-is-monster.html">What is Monster?</a></li>
+    
+        <li><a href="tutorial-getting-started.html">Getting Started</a></li>
+    </ul>
+    
+
+    <h2>Monster - Build fantastic websites!</h2>
+</header>
+
+<article>
+    <p>Monster is a lightweight, robust and easy-to-use library with modest ambitions.<br>
+Monster integrates easily with your existing websites without taking over everything.</p>
+<p>Here's (<a href="tutorial-what-is-monster.html">What is Monster?</a>) what Monster is all about. In section <a href="tutorial-getting-started.html">Getting Started</a><br>
+you can read how to integrate Monster into your own web projects.</p>
+<p>Monster has a free license and therefore you are free to customize Monster to your needs.</p>
+</article>
+
+</section>
+
+    </div>
+
+    <footer class="footer" id="footer">
+      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
+    </footer>
+
+    <script src="scripts/third-party/prettify.js"></script>
+    <script src="scripts/third-party/lang-css.js"></script>
+    <script type="text/javascript" src="scripts/misc.js"></script>
+
+    <script>prettyPrint();</script>
+    <script src="scripts/linenumber.js"></script>
+    <script src="scripts/fix-code-block.js"></script>
+    <script src="scripts/fix-navbar.js"></script>
+    
+
+    
+
+    
+      <script src="scripts/resize.js"></script>
+      <script type="text/javascript">
+        var option = {"min":"300","max":"600"}
+        setupResizeOptions(option)
+      </script>
+    
+
+    
+
+    
+    <script type="text/javascript">
+    var option = JSON.parse('{"options":{}}')
+      console.log(option)
+      document.addEventListener("DOMContentLoaded", function () {
+        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
+      });
+    </script>
+    
+
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/docs/tutorial-what-is-monster.html b/docs/tutorial-what-is-monster.html
new file mode 100644
index 000000000..b966ab480
--- /dev/null
+++ b/docs/tutorial-what-is-monster.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <!-- Adding meta -->
+    
+    
+    <meta name="author" content="schukai GmbH" />
+    
+    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
+    
+    
+
+    <!-- Adding external script-->
+    
+    
+    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
+    
+    
+
+    <!-- Adding external style-->
+    
+    
+    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
+    
+    
+
+    <!-- Adding scripts-->
+    
+
+    <!-- Adding style-->
+    
+
+    <!-- Adding overlay script-->
+    
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
+      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
+      crossorigin="anonymous"></script>
+    
+
+    <!-- Adding overlay style-->
+    
+
+
+    <title>
+      Tutorial: What is Monster?
+    </title>
+
+    <!--[if lt IE 9]>
+      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+    <![endif]-->
+    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
+    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
+    <link type="text/css" rel="stylesheet" href="styles/reset.css">
+    <link type="text/css" rel="stylesheet" href="styles/heading.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
+    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
+    
+    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
+    style="display:none">
+    <defs>
+        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
+            <g>
+                <path
+                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
+                <path
+                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
+            </g>
+        </symbol>
+        <symbol id='search-icon' viewBox="0 0 512 512">
+            <g>
+                <g>
+                    <path
+                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
+                </g>
+            </g>
+            <g>
+                <g>
+                    <path
+                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
+                </g>
+            </g>
+        </symbol>
+        <symbol id="down-icon" viewBox="0 0 16 16">
+            <path 
+                fill-rule="evenodd" 
+                clip-rule="evenodd" 
+                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
+            >
+            </path>
+        </symbol>
+    </defs>
+</svg>
+  </head>
+
+  <body>
+
+    <nav class="navbar" id="navbar">
+      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="2730811" > <h3 class="accordion-heading">Tutorials<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="tutorial-dom-based-templating-implementation.html">dom-based-templating-implementation</a></li><li class="accordion-list" id=""><a href="tutorial-tutorial.html">Monster - Build fantastic websites!</a></li></ul> </div><div class="accordion collapsed" id="5957665" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=522972><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=1595067><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2557677><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=1343273><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=6227940><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=4167049><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=8579869><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9669899><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7258984><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=2440951><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setWildCard">setWildCard</a></li></ul></li><li class="accordion collapsed child" id=1095298><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Pipe.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=7795091><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=771121><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=2416549><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getCSSStyleSheet">getCSSStyleSheet</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTemplate">getTemplate</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#assemble">assemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disassemble">disassemble</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#getOption">getOption</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#init">init</a></li></ul></li><li class="accordion collapsed child" id=1016134><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=4924755><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=4399271><div class="accordion-heading child"><a href="Monster_DOM.Updater.html">Updater</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Updater.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#run">run</a></li><li data-type='method'><a href="Monster_DOM.Updater.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=8951576><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=2243671><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=8217872><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=6740715><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=2885552><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4556749><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9895047><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=1344011><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=4948584><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=2513960><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=9813204><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=1050679><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=8245443><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5186860><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="1694744" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=6232778><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=5883787><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=7450740><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=591535><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=3788288><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.typeOf">typeOf</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=9696033><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6647244" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#buildMap">buildMap</a></li><li class="accordion-list" id=""><a href="global.html#getDocumentTheme">getDocumentTheme</a></li></ul> </div></div>
+      
+        <div class="navbar-resize" id="navbar-resize">
+          <div class="resize-dots-container">
+            <div class="dots"></div>
+            <div class="dots"></div>
+            <div class="dots"></div>
+          </div> 
+        </div>
+      
+
+    </nav>
+    <div class="navbar-ham" id="navbar-ham">
+      <div>
+        <div class="first"></div>
+        <div class="second"></div>
+        <div class="third"></div>
+      </div>
+    </div>
+
+    <div id="main" class="main-content">
+      
+      <h1 id='page-title' class="page-title">
+        Tutorial: What is Monster?
+      </h1>
+      
+
+      <section>
+
+<header>
+    
+
+    <h2>What is Monster?</h2>
+</header>
+
+<article>
+    <p>Monster is a collection of functions and classes that can help in the daily work<br>
+with Javascript to get faster to the goal. Monster does not require you to be the<br>
+only library, nor does it require you to use only Monster.</p>
+<p>Monster itself has no dependencies and works perfectly with other frameworks<br>
+like jQuery or Bootstrap.</p>
+<p><strong>The design goals of Monster's core library are:</strong></p>
+<ul>
+<li>Easy integration with existing user interfaces.</li>
+<li>Robust interfaces</li>
+<li>Tested code and good code coverage.</li>
+<li>No dependencies on other libraries</li>
+</ul>
+</article>
+
+</section>
+
+    </div>
+
+    <footer class="footer" id="footer">
+      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
+    </footer>
+
+    <script src="scripts/third-party/prettify.js"></script>
+    <script src="scripts/third-party/lang-css.js"></script>
+    <script type="text/javascript" src="scripts/misc.js"></script>
+
+    <script>prettyPrint();</script>
+    <script src="scripts/linenumber.js"></script>
+    <script src="scripts/fix-code-block.js"></script>
+    <script src="scripts/fix-navbar.js"></script>
+    
+
+    
+
+    
+      <script src="scripts/resize.js"></script>
+      <script type="text/javascript">
+        var option = {"min":"300","max":"600"}
+        setupResizeOptions(option)
+      </script>
+    
+
+    
+
+    
+    <script type="text/javascript">
+    var option = JSON.parse('{"options":{}}')
+      console.log(option)
+      document.addEventListener("DOMContentLoaded", function () {
+        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
+      });
+    </script>
+    
+
+
+  </body>
+
+</html>
\ No newline at end of file
diff --git a/docs/types_base.js.html b/docs/types_base.js.html
deleted file mode 100644
index 2b78666b5..000000000
--- a/docs/types_base.js.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/base.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/base.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-
-
-/**
- * This is the base class from which all monster classes are derived.
- *
- * you can call the method via the monster namespace `new Monster.Types.Base()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
- * console.log(new Monster.Types.Base())
- * console.log(new Monster.Types.Base())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
- * console.log(new Base())
- * console.log(new Base())
- * &lt;/script>
- * ```
- *
- * the class was formerly called Object.
- *
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class Base extends Object {
-
-    /**
-     *
-     * @returns {string}
-     */
-    toString() {
-        return JSON.stringify(this);
-    };
-
-
-}
-
-Monster.assignToNamespace('Monster.Types', Base);
-export {Monster, Base}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_global.js.html b/docs/types_global.js.html
deleted file mode 100644
index 069817882..000000000
--- a/docs/types_global.js.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/global.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/global.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {validateFunction, validateString, validateObject} from "./validate.js";
-
-/**
- * @type {objec}
- * @private
- */
-var globalReference;
-
-/**
- * @private
- */
-(function () {
-    if (typeof globalThis === 'object') {
-        globalReference = globalThis;
-        return;
-    }
-
-    Object.defineProperty(Object.prototype, '__monster__', {
-        get: function () {
-            return this;
-        },
-        configurable: true
-    });
-    
-    __monster__.globalThis = __monster__;
-    delete Object.prototype.__monster__;
-
-    globalReference = globalThis;
-
-}());
-
-/**
- * return globalThis
- *
- * if globalThis is not available, it will be polyfilled
- *
- * @since 1.6.0
- * @memberOf Monster/Types
- * @returns {objec} globalThis
- */
-function getGlobal() {
-    return globalReference;
-}
-
-/**
- * return global object or throw Error
- *
- * you can call the method via the monster namespace `Monster.Types.getGlobalObject()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
- * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
- * console.log(getGlobalObject('document')) // ↦ { }
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @memberOf Monster/Types
- * @param {string} name
- * @returns {objec}
- * @throws {Error} the object is not defined
- * @throws {TypeError} value is not a object
- * @throws {TypeError} value is not a string
- */
-function getGlobalObject(name) {
-    validateString(name);
-    let o = globalReference?.[name];
-    if (typeof o === 'undefined') throw new Error('the object '+name+' is not defined');
-    validateObject(o);
-    return o;
-}
-
-/**
- * return global function or throw Error
- *
- * you can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
- * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
- * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @memberOf Monster/Types
- * @param {string} name
- * @returns {objec}
- * @throws {TypeError} value is not a function
- * @throws {Error} the function is not defined
- * @throws {TypeError} value is not a string
- */
-function getGlobalFunction(name) {
-    validateString(name);
-    let f = globalReference?.[name];
-    if (typeof f === 'undefined') throw new Error('the function '+name+' is not defined');
-    validateFunction(f);
-    return f;
-}
-
-
-Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);
-export {Monster, getGlobal, getGlobalObject, getGlobalFunction}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_id.js.html b/docs/types_id.js.html
deleted file mode 100644
index 728add85f..000000000
--- a/docs/types_id.js.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/id.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/id.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from './base.js';
-import {validateString} from "./validate.js";
-
-/**
- * @private
- * @type {Map&lt;string, integer>}
- */
-let internalCounter = new Map;
-
-/**
- * with the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.
- * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.
- * The ids are the same for every call, for example on a web page.
- *
- * so the ids can also be used for navigation. you just have to take care that the order stays the same.
- *
- * you can call the method via the monster namespace `new Monster.Types.ID()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new Monster.Types.ID())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new ID())
- * &lt;/script>
- * ```
- *
- * as of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
- *
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class ID extends Base {
-
-    /**
-     * create new object
-     */
-    constructor(prefix) {
-        super();
-
-        if (prefix === undefined) {
-            prefix = "id";
-        }
-
-        validateString(prefix);
-
-        if (!internalCounter.has(prefix)) {
-            internalCounter.set(prefix, 1);
-        }
-
-        let count = internalCounter.get(prefix);
-        this.id = prefix + count;
-
-        internalCounter.set(prefix, ++count);
-    }
-
-    /**
-     * @return {string}
-     */
-    toString() {
-        return this.id;
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Types', ID);
-export {Monster, ID}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_is.js.html b/docs/types_is.js.html
deleted file mode 100644
index 9f1485b1c..000000000
--- a/docs/types_is.js.html
+++ /dev/null
@@ -1,550 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/is.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/is.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-
-/**
- * with this function you can check if a value is iterable
- *
- * you can call the method via the monster namespace `Monster.Types.isPrimitive()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isIterable(null)) // ↦ false
- * console.log(Monster.Types.isIterable('hello')) // ↦ true
- * console.log(Monster.Types.isIterable([])) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isIterable(null))  // ↦ false
- * console.log(isIterable('hello'))  // ↦ true
- * console.log(isIterable([]))  // ↦ true
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.2.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isIterable(value) {
-    if (value === undefined) return false;
-    if (value === null) return false;
-    return typeof value?.[Symbol.iterator] === 'function';
-}
-
-
-/**
- * checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
- *
- * you can call the method via the monster namespace `Monster.Types.isPrimitive()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isPrimitive('2')) // ↦ false
- * console.log(Monster.Types.isPrimitive([])) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isPrimitive('2'))  // ↦ true
- * console.log(isPrimitive([]))  // ↦ false
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isPrimitive(value) {
-    var type;
-
-    if (value === undefined || value === null || value === NaN) {
-        return true;
-    }
-
-    type = typeof value;
-
-    if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {
-        return true;
-    }
-
-    return false;
-}
-
-/**
- * checks whether the value passed is a boolean
- *
- * you can call the method via the monster namespace `Monster.Types.isBoolean()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isBoolean('2')) // ↦ false
- * console.log(Monster.Types.isBoolean([])) // ↦ false
- * console.log(Monster.Types.isBoolean(true)) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isBoolean('2'))  // ↦ false
- * console.log(isBoolean([]))  // ↦ false
- * console.log(isBoolean(2>4))  // ↦ true
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isBoolean(value) {
-
-    if (value === true || value === false) {
-        return true;
-    }
-
-    return false;
-}
-
-/**
- * checks whether the value passed is a string
- *
- * you can call the method via the monster namespace `Monster.Types.isString()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isString('2')) // ↦ true
- * console.log(Monster.Types.isString([])) // ↦ false
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isString('2'))  // ↦ true
- * console.log(isString([]))  // ↦ false
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isString(value) {
-    if (value === undefined || typeof value !== 'string') {
-        return false;
-    }
-    return true;
-}
-
-/**
- * checks whether the value passed is a object
- *
- * you can call the method via the monster namespace `Monster.Types.isObject()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isObject('2')) // ↦ false
- * console.log(Monster.Types.isObject([])) // ↦ false
- * console.log(Monster.Types.isObject({})) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isObject('2'))  // ↦ false
- * console.log(isObject([]))  // ↦ false
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isObject(value) {
-
-    if (isArray(value)) return false;
-    if (isPrimitive(value)) return false;
-
-    if (typeof value === 'object') {
-        return true;
-    }
-
-    return false;
-}
-
-/**
- * checks whether the value passed is a object and instance of instance
- *
- * you can call the method via the monster namespace `Monster.Types.isInstance()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isInstance('2')) // ↦ false
- * console.log(Monster.Types.isInstance([])) // ↦ false
- * console.log(Monster.Types.isInstance({})) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isInstance('2'))  // ↦ false
- * console.log(isInstance([]))  // ↦ false
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @param {*} instance
- * @returns {boolean}
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isInstance(value, instance) {
-
-    if (!isObject(value)) return false;
-    if (!isFunction(instance)) return false;
-    if (!instance.hasOwnProperty('prototype')) return false;
-    return (value instanceof instance)?true:false; 
-
-}
-
-/**
- * checks whether the value passed is a array
- *
- * you can call the method via the monster namespace `Monster.Types.isArray()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isArray('2')) // ↦ false
- * console.log(Monster.Types.isArray([])) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isArray('2'))  // ↦ false
- * console.log(isArray([]))  // ↦ true
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isArray(value) {
-    if (Array.isArray(value)) {
-        return true;
-    }
-    return false;
-}
-
-/**
- * checks whether the value passed is a function
- *
- * you can call the method via the monster namespace `Monster.Types.isFunction()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isFunction(()=>{})) // ↦ true
- * console.log(Monster.Types.isFunction('2')) // ↦ false
- * console.log(Monster.Types.isFunction([])) // ↦ false
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isFunction(()=>{})) // ↦ true
- * console.log(isFunction('2'))  // ↦ false
- * console.log(isFunction([]))  // ↦ false
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isFunction(value) {
-    if (isArray(value)) return false;
-    if (isPrimitive(value)) return false;
-
-    if (typeof value === 'function') {
-        return true;
-    }
-
-    return false;
-
-}
-
-/**
- * checks whether the value passed is an integer
- *
- * you can call the method via the monster namespace `Monster.Types.isFunction()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(Monster.Types.isInteger(()=>{})) // ↦ true
- * console.log(Monster.Types.isInteger('2')) // ↦ false
- * console.log(Monster.Types.isInteger(2)) // ↦ true
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * console.log(isInteger(()=>{})) // ↦ true
- * console.log(isInteger('2'))  // ↦ false
- * console.log(isInteger(2))  // ↦ true
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @returns {boolean}
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-function isInteger(value) {
-    return Number.isInteger(value);
-}
-
-
-Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);
-export {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_namespace.js.html b/docs/types_namespace.js.html
deleted file mode 100644
index 134dee9f0..000000000
--- a/docs/types_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Types
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Types";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_observer.js.html b/docs/types_observer.js.html
deleted file mode 100644
index 2bf1179c5..000000000
--- a/docs/types_observer.js.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/observer.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/observer.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {TokenList} from './tokenlist.js';
-import {isObject} from './is.js';
-import {Base} from './base.js';
-import {UniqueQueue} from './uniquequeue.js';
-
-/**
- * an observer manages a callback function
- *
- * you can call the method via the monster namespace `new Monster.Types.Observer()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * console.log(new Monster.Types.Observer())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * console.log(Observer())
- * &lt;/script>
- * ```
- *
- * the update method is called with the subject object as this pointer. for this reason the callback should not
- * be an arrow function, because it gets the this pointer of its own context.
- *
- * ```
- * &lt;script>
- * Observer(()=>{
- *     // this is not subject
- * })
- *
- * Observer(function() {
- *     // this is subject
- * })
- * &lt;/script>
- * ```
- *
- * additional arguments can be passed to the callback. to do this, simply specify them.
- *
- * ```
- * &lt;script>
- * Observer(function(a, b, c) {
- *     console.log(a, b, c); // ↦ "a", 2, true 
- * }, "a", 2, true)
- * &lt;/script>
- * ```
- *
- * the callback function must have as many parameters as arguments are given.
- *
- *
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class Observer extends Base {
-
-    /**
-     *
-     * @param {function} callback
-     * @param {*} args
-     */
-    constructor(callback, ...args) {
-        super();
-
-        if (typeof callback !== 'function') {
-            throw new Error("observer callback must be a function")
-        }
-
-        this.callback = callback;
-        this.arguments = args;
-        this.tags = new TokenList;
-        this.queue = new UniqueQueue();
-    }
-
-    /**
-     *
-     * @param {string} tag
-     * @returns {Observer}
-     */
-    addTag(tag) {
-        this.tags.add(tag);
-        return this;
-    }
-
-    /**
-     *
-     * @param {string} tag
-     * @returns {Observer}
-     */
-    removeTag(tag) {
-        this.tags.remove(tag);
-        return this;
-    }
-
-    /**
-     *
-     * @returns {Array}
-     */
-    getTags() {
-        return this.tags.entries()
-    }
-
-    /**
-     *
-     * @param {string} tag
-     * @returns {boolean}
-     */
-    hasTag(tag) {
-        return this.tags.contains(tag)
-    }
-
-    /**
-     *
-     * @param {object} subject
-     * @returns {Promise}
-     */
-    update(subject) {
-        let self = this;
-
-        return new Promise(function (resolve, reject) {
-            if (!isObject(subject)) {
-                reject("subject must be an object");
-                return;
-            }
-
-            self.queue.add(subject);
-
-            setTimeout(() => {
-
-                // the queue and the settimeout ensure that an object is not 
-                // informed of the same change more than once.
-                if (self.queue.isEmpty()) {
-                    resolve();
-                    return;
-                }
-
-                let s = self.queue.poll();
-                let result = self.callback.apply(s, self.arguments);
-
-                if (isObject(result) &amp;&amp; result instanceof Promise) {
-                    result.then(resolve).catch(reject);
-                    return;
-                }
-
-                resolve(result);
-            }, 0)
-
-        });
-
-    };
-
-}
-
-Monster.assignToNamespace('Monster.Types', Observer);
-export {Monster, Observer}
-
-
-
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_observerlist.js.html b/docs/types_observerlist.js.html
deleted file mode 100644
index cc9d4c56f..000000000
--- a/docs/types_observerlist.js.html
+++ /dev/null
@@ -1,302 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/observerlist.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/observerlist.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from './base.js';
-import {Observer} from "./observer.js";
-import {validateInstance} from "./validate.js";
-
-/**
- * With the help of the ObserverList class, observer can be managed.
- *
- * you can call the method via the monster namespace `new Monster.Types.ObserverList()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
- * console.log(new Monster.Types.ObserverList())
- * console.log(new Monster.Types.ObserverList())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
- * console.log(ObserverList())
- * console.log(ObserverList())
- * &lt;/script>
- * ```
- *
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class ObserverList extends Base {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-        this.observers = [];
-    }
-
-    /**
-     *
-     * @param {Observer} observer
-     * @return {ObserverList}
-     * @throws {TypeError} value is not an instance of Observer
-     */
-    attach(observer) {
-        validateInstance(observer, Observer)
-
-        this.observers.push(observer);
-        return this;
-    };
-
-    /**
-     *
-     * @param {Observer} observer
-     * @return {ObserverList}
-     * @throws {TypeError} value is not an instance of Observer
-     */
-    detach(observer) {
-        validateInstance(observer, Observer)
-
-        var i = 0, l = this.observers.length;
-        for (; i &lt; l; i++) {
-            if (this.observers[i] === observer) {
-                this.observers.splice(i, 1);
-            }
-        }
-
-        return this;
-    };
-
-    /**
-     *
-     * @param {Observer} observer
-     * @return {boolean}
-     * @throws {TypeError} value is not an instance of Observer
-     */
-    contains(observer) {
-        validateInstance(observer, Observer)
-        var i = 0, l = this.observers.length;
-        for (; i &lt; l; i++) {
-            if (this.observers[i] === observer) {
-                return true;
-            }
-        }
-        return false;
-    };
-
-    /**
-     *
-     * @param subject
-     * @return {Promise}
-     */
-    notify(subject) {
-
-        let pomises = []
-
-        var i = 0, l = this.observers.length;
-        for (; i &lt; l; i++) {
-            pomises.push(this.observers[i].update(subject));
-        }
-
-        return Promise.all(pomises);
-    };
-
-}
-
-Monster.assignToNamespace('Monster.Types', ObserverList);
-export {Monster, ObserverList}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_proxyobserver.js.html b/docs/types_proxyobserver.js.html
deleted file mode 100644
index 155bd968d..000000000
--- a/docs/types_proxyobserver.js.html
+++ /dev/null
@@ -1,433 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/proxyobserver.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/proxyobserver.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from  './base.js';
-import {validateObject} from "./validate.js";
-import {ObserverList} from "./observerlist.js";
-import {Observer} from "./observer.js";
-import {isObject, isArray, isPrimitive} from "./is.js";
-
-/**
- * an observer manages a callback function
- *
- * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
- * console.log(new Monster.Types.ProxyObserver())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
- * console.log(new ProxyObserver())
- * &lt;/script>
- * ```
- *
- * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.
- *
- * this also applies to nested objects.
- *
- * @example 
- *
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
- * 
- * const o = new Observer(function () { 
- *   if (isObject(this) &amp;&amp; this instanceof ProxyObserver) {
- *       // do something (this ist ProxyObserver)
- *       const subject = this.getSubject();
- *       console.log(subject);
- *   }
- * });
- * 
- * let realSubject = {
- *   a: {
- *       b: {
- *           c: true
- *       },
- *       d: 9
- *   }
- * }
- * 
- * const p = new ProxyObserver(realSubject);
- * p.attachObserver(o);
- * const s = p.getSubject();
- * s.a.b.c = false;
- *
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class ProxyObserver extends Base {
-
-    /**
-     *
-     * @param {object} object
-     * @throws {TypeError} value is not a object
-     */
-    constructor(object) {
-        super();
-        validateObject(object);
-        this.realSubject = object
-        this.subject = new Proxy(object, getHandler.call(this));
-
-        this.objectMap = new WeakMap();
-        this.objectMap.set(this.realSubject, this.subject);
-
-        this.observers = new ObserverList;
-    }
-
-    /**
-     * get the real object
-     *
-     * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.
-     *
-     * @returns {object}
-     */
-    getSubject() {
-        return this.subject
-    }
-
-    /**
-     * get the proxied object
-     *
-     * @returns {object}
-     */
-    getRealSubject() {
-        return this.realSubject
-    }
-
-    /**
-     * attach a new observer
-     *
-     * @param {Observer} observer
-     * @returns {ProxyObserver}
-     */
-    attachObserver(observer) {
-        this.observers.attach(observer)
-        return this;
-    }
-
-    /**
-     * detach a observer
-     *
-     * @param {Observer} observer
-     * @returns {ProxyObserver}
-     */
-    detachObserver(observer) {
-        this.observers.detach(observer)
-        return this;
-    }
-
-    /**
-     * notify all observer
-     *
-     * @returns {ProxyObserver}
-     */
-    notifyObservers() {
-        this.observers.notify(this);
-        return this;
-    }
-
-    /**
-     * @param {Observer} observer
-     * @returns {ProxyObserver}
-     */
-    containsObserver(observer) {
-        return this.observers.contains(observer)
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Types', ProxyObserver);
-export {Monster, ProxyObserver}
-
-/**
- *
- * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}
- * @private
- * @see {@link https://gitlab.schukai.com/-/snippets/49}
- */
-function getHandler() {
-
-    const proxy = this;
-
-    // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots
-    const handler = {
-
-        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver
-        get: function (target, key, receiver) {
-
-            const value = Reflect.get(target, key, receiver);
-
-            if (typeof key === "symbol") {
-                return value;
-            }
-
-            if (isPrimitive(value)) {
-                return value;
-            }
-
-            // set value as proxy if object or array
-            if ((isArray(value) || isObject(value))) {
-                if (proxy.objectMap.has(value)) {
-                    return proxy.objectMap.get(value);
-                } else {
-                    let p = new Proxy(value, handler);
-                    proxy.objectMap.set(value, p);
-                    return p;
-                }
-
-            }
-
-            return value;
-
-        },
-
-        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver 
-        set: function (target, key, value, receiver) {
-            const result = Reflect.set(target, key, value, receiver);
-            if (typeof property !== "symbol") {
-                proxy.observers.notify(proxy);
-            }
-
-            return result;
-        },
-
-        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p
-        deleteProperty: function (target, key) {
-            if (key in target) {
-                delete target[key];
-
-                if (typeof key !== "symbol") {
-                    proxy.observers.notify(proxy);
-                }
-
-
-                return true;
-            }
-            return false;
-        },
-
-        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc
-        defineProperty: function (target, key, descriptor) {
-            let result = Reflect.defineProperty(target, key, descriptor);
-
-            if (typeof key !== "symbol") {
-                proxy.observers.notify(proxy);
-            }
-
-
-            return result;
-        },
-
-        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
-        setPrototypeOf: function (target, key) {
-            let result = Reflect.setPrototypeOf(object1, key);
-
-            if (typeof key !== "symbol") {
-                proxy.observers.notify(proxy);
-            }
-
-            return result;
-        }
-
-    };
-
-
-    return handler;
-}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_queue.js.html b/docs/types_queue.js.html
deleted file mode 100644
index 699cd5409..000000000
--- a/docs/types_queue.js.html
+++ /dev/null
@@ -1,279 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/queue.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/queue.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>import {Monster, Base} from './base.js';
-
-/**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
- * console.log(new Monster.Types.Queue())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
- * console.log(new Queue())
- * &lt;/script>
- * ```
- *
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class Queue extends Base { 
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-        this.data = [];
-    }
-
-
-    /**
-     * @return {boolean}
-     */
-    isEmpty() {
-        return this.data.length === 0;
-    }
-
-    /**
-     * Read the element at the front of the queue without removing it.
-     *
-     * @return {*}
-     */
-    peek() {
-        if (this.isEmpty()) {
-            return undefined;
-        }
-
-        return this.data[0];
-    }
-
-    /**
-     * Add a new element to the end of the queue.
-     *
-     * @param {*} value
-     * @returns {Queue}
-     */
-    add(value) {
-        this.data.push(value)
-        return this;
-    }
-
-    /**
-     * remove all entries
-     *
-     * @returns {Queue}
-     */
-    clear() {
-        this.data = [];
-        return this;
-    }
-
-    /**
-     * Remove the element at the front of the queue
-     * If the queue is empty, return undefined.
-     *
-     * @return {*}
-     */
-    poll() {
-        if (this.isEmpty()) {
-            return undefined;
-        }
-        return this.data.shift();
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Types', Queue);
-export {Monster, Queue}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_randomid.js.html b/docs/types_randomid.js.html
deleted file mode 100644
index 81705b30a..000000000
--- a/docs/types_randomid.js.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/randomid.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/randomid.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, ID} from "./id.js";
-import {getGlobal} from "./global.js";
-import {random} from "../math/random.js";
-
-/**
- * @private
- * @type {number}
- */
-let internalCounter = 0;
-
-/**
- * you can call the method via the monster namespace `new Monster.Types.RandomID()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
- * console.log(new Monster.Types.RandomID())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
- * console.log(new RandomID())
- * &lt;/script>
- * ```
- *
- * @since 1.6.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class RandomID extends ID {
-
-    /**
-     * create new object
-     */
-    constructor() {
-        super();
-
-        internalCounter += 1;
-
-        this.id = getGlobal().btoa(random(1, 10000))
-            .replace(/=/g, '')
-            /** No numbers at the beginning of the ID, because of possible problems with DOM */
-            .replace(/^[0-9]+/, 'X') + internalCounter;
-    }
-
-}
-
-Monster.assignToNamespace('Monster.Types', RandomID);
-export {Monster, RandomID}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_stack.js.html b/docs/types_stack.js.html
deleted file mode 100644
index 7a8251950..000000000
--- a/docs/types_stack.js.html
+++ /dev/null
@@ -1,280 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/stack.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/stack.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>import {Monster, Base} from './base.js';
-
-/**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
- * console.log(new Monster.Types.Stack())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
- * console.log(new Stack())
- * &lt;/script>
- * ```
- *
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class Stack extends Base {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-        this.data = [];
-    }
-
-
-    /**
-     * @return {boolean}
-     */
-    isEmpty() {
-        return this.data.length === 0;
-    }
-
-    /**
-     * looks at the object at the top of this stack without removing it from the stack.
-     *
-     * @return {*}
-     */
-    peek() {
-        if (this.isEmpty()) {
-            return undefined;
-        }
-
-        return this.data?.[this.data.length - 1];
-    }
-
-    /**
-     * pushes an item onto the top of this stack.
-     *
-     * @param {*} value
-     * @returns {Queue}
-     */
-    push(value) {
-        this.data.push(value)
-        return this;
-    }
-
-    /**
-     * remove all entries
-     *
-     * @returns {Queue}
-     */
-    clear() {
-        this.data = [];
-        return this;
-    }
-
-    /**
-     * removes the object at the top of this stack and returns
-     * that object as the value of this function. is the stack empty
-     * the return value is undefined.
-     *
-     * @return {*}
-     */
-    pop() {
-        if (this.isEmpty()) {
-            return undefined;
-        }
-        return this.data.pop();
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Types', Stack);
-export {Monster, Stack}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_tokenlist.js.html b/docs/types_tokenlist.js.html
deleted file mode 100644
index dd20a411c..000000000
--- a/docs/types_tokenlist.js.html
+++ /dev/null
@@ -1,500 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/tokenlist.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/tokenlist.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {Base} from  './base.js';
-import {isString, isIterable} from '../types/is.js';
-import {validateString, validateFunction} from '../types/validate.js';
-
-/**
- * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).
- *
- * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.
- *
- * you can call the method via the monster namespace `new Monster.Types.TokenList()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
- * console.log(new Monster.Types.TokenList("myclass row"))
- * console.log(new Monster.Types.TokenList("myclass row"))
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
- * console.log(new TokenList("myclass row"))
- * console.log(new TokenList("myclass row"))
- * &lt;/script>
- * ```
- *
- * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
- *
- * ```
- * console.log(typeof new TokenList("myclass row")[Symbol.iterator]); // "function"
- * ```
- *
- *
- * @since 1.2.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class TokenList extends Base {
-
-    /**
-     *
-     * @param {array|string|iteratable} init
-     */
-    constructor(init) {
-        super();
-        this.tokens = new Set();
-
-        if (typeof init !== "undefined") {
-            this.add(init);
-        }
-
-    }
-
-    /**
-     * Iterator protocol
-     *
-     * @returns {Symbol.iterator}
-     */
-    getIterator() {
-        return this[Symbol.iterator]();
-    }
-
-    /**
-     * Iterator
-     *
-     * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}
-     */
-    [Symbol.iterator]() {
-        // Use a new index for each iterator. This makes multiple
-        // iterations over the iterable safe for non-trivial cases,
-        // such as use of break or nested looping over the same iterable.
-        let index = 0;
-        let entries = this.entries()
-
-        return {
-            next: () => {
-                if (index &lt; entries.length) {
-                    return {value: entries?.[index++], done: false}
-                } else {
-                    return {done: true}
-                }
-            }
-        }
-    }
-
-    /**
-     * Returns true if it contains token, otherwise false
-     *
-     * ```
-     * new TokenList("start middle end").contains('start')); // ↦ true
-     * new TokenList("start middle end").contains('end')); // ↦ true
-     * new TokenList("start middle end").contains('xyz')); // ↦ false
-     * new TokenList("start middle end").contains(['end','start','middle'])); // ↦ true
-     * new TokenList("start middle end").contains(['end','start','xyz'])); // ↦ false
-     * ```
-     *
-     * @param {array|string|iteratable} value
-     * @returns {boolean}
-     */
-    contains(value) {
-        if (isString(value)) {
-            value = value.trim()
-            let counter = 0;
-            value.split(" ").forEach(token => {
-                if (this.tokens.has(token.trim()) === false) return false;
-                counter++
-            })
-            return counter > 0 ? true : false;
-        }
-
-        if (isIterable(value)) {
-            let counter = 0;
-            for (let token of value) {
-                validateString(token);
-                if (this.tokens.has(token.trim()) === false) return false;
-                counter++
-            }
-            return counter > 0 ? true : false;
-        }
-
-        return false;
-    }
-
-    /**
-     * add tokens
-     *
-     * ```
-     * new TokenList().add("abc xyz").toString(); // ↦ "abc xyz"
-     * new TokenList().add(["abc","xyz"]).toString(); // ↦ "abc xyz"
-     * new TokenList().add(undefined); // ↦ add nothing
-     * ```
-     *
-     * @param {array|string|iteratable} value
-     * @returns {TokenList}
-     * @throws {TypeError} unsupported value
-     */
-    add(value) {
-        if (isString(value)) {
-            value.split(" ").forEach(token => {
-                this.tokens.add(token.trim());
-            })
-        } else if (isIterable(value)) {
-            for (let token of value) {
-                validateString(token);
-                this.tokens.add(token.trim());
-            }
-        } else if (typeof value !== "undefined") {
-            throw new TypeError("unsupported value");
-        }
-
-        return this;
-    }
-
-    /**
-     * remove all tokens
-     *
-     * @returns {TokenList}
-     */
-    clear() {
-        this.tokens.clear();
-        return this;
-    }
-
-    /**
-     * Removes token
-     *
-     * ```
-     * new TokenList("abc xyz").remove("xyz").toString(); // ↦ "abc"
-     * new TokenList("abc xyz").remove(["xyz"]).toString(); // ↦ "abc"
-     * new TokenList("abc xyz").remove(undefined); // ↦ remove nothing
-     * ```
-     *
-     * @param {array|string|iteratable} value
-     * @returns {TokenList}
-     * @throws {TypeError} unsupported value
-     */
-    remove(value) {
-        if (isString(value)) {
-            value.split(" ").forEach(token => {
-                this.tokens.delete(token.trim());
-            })
-        } else if (isIterable(value)) {
-            for (let token of value) {
-                validateString(token);
-                this.tokens.delete(token.trim());
-            }
-        } else if (typeof value !== "undefined") {
-            throw new TypeError("unsupported value");
-        }
-
-        return this;
-    }
-
-    /**
-     * this method replaces a token with a new token.
-     *
-     * if the passed token exists, it is replaced with newToken and TokenList is returned.
-     * if the token does not exist, newToken is not set and TokenList is returned.
-     *
-     * @param {string} token
-     * @param {string} newToken
-     * @returns {TokenList}
-     */
-    replace(token, newToken) {
-        validateString(token);
-        validateString(newToken);
-        if (!this.contains(token)) {
-            return this;
-        }
-
-        let a = Array.from(this.tokens)
-        let i = a.indexOf(token);
-        if (i === -1) return this;
-
-        a.splice(i, 1, newToken);
-        this.tokens = new Set();
-        this.add(a);
-
-        return this;
-
-
-    }
-
-    /**
-     * Removes token from string. If token doesn't exist it's added.
-     * 
-     * ```
-     * new TokenList("abc def ghi").toggle("def xyz").toString(); // ↦ "abc ghi xyz"
-     * new TokenList("abc def ghi").toggle(["abc","xyz"]).toString(); // ↦ "def ghi xyz"
-     * new TokenList().toggle(undefined); // ↦ nothing
-     * ```
-     * 
-     * @param {array|string|iteratable} value
-     * @returns {boolean}
-     * @throws {TypeError} unsupported value
-     */
-    toggle(value) {
-
-        if (isString(value)) {
-            value.split(" ").forEach(token => {
-                toggleValue.call(this, token);
-            })
-        } else if (isIterable(value)) {
-            for (let token of value) {
-                toggleValue.call(this, token);
-            }
-        } else if (typeof value !== "undefined") {
-            throw new TypeError("unsupported value");
-        }
-
-        return this;
-
-    }
-
-    /**
-     * returns an array with all tokens
-     *
-     * @returns {array}
-     */
-    entries() {
-        return Array.from(this.tokens)
-    }
-
-    /**
-     * executes the provided function with each value of the set
-     *
-     * @param {function} callback
-     * @returns {TokenList}
-     */
-    forEach(callback) {
-        validateFunction(callback);
-        this.tokens.forEach(callback);
-        return this;
-    }
-
-    /**
-     * returns the individual tokens separated by a blank character
-     *
-     * @returns {string}
-     */
-    toString() {
-        return this.entries().join(' ');
-    }
-
-}
-
-/**
- * @private
- * @param token
- * @returns {toggleValue}
- * @throws {Error} must be called with TokenList.call
- */
-function toggleValue(token) {
-    if (!(this instanceof TokenList)) throw Error("must be called with TokenList.call")
-    validateString(token);
-    token = token.trim();
-    if (this.contains(token)) {
-        this.remove(token);
-        return this;
-    }
-    this.add(token);
-    return this;
-}
-
-Monster.assignToNamespace('Monster.Types', TokenList);
-export {Monster, TokenList}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_uniquequeue.js.html b/docs/types_uniquequeue.js.html
deleted file mode 100644
index d30e510f7..000000000
--- a/docs/types_uniquequeue.js.html
+++ /dev/null
@@ -1,271 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/uniquequeue.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/uniquequeue.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>import {Monster, Queue} from "./queue.js";
-import {validateObject} from "./validate.js";
-
-/**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
- * console.log(new Monster.Types.UniqueQueue())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
- * console.log(new UniqueQueue())
- * &lt;/script>
- * ```
- *
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class UniqueQueue extends Queue {
-
-    /**
-     *
-     */
-    constructor() {
-        super();
-        this.unique = new WeakSet();
-    }
-
-    /**
-     * Add a new element to the end of the queue.
-     *
-     * @param {object} value
-     * @returns {Queue}
-     * @throws {TypeError} value is not a object
-     */
-    add(value) {
-        
-        validateObject(value);
-        
-        if (!this.unique.has(value)) {
-            this.unique.add(value);
-            super.add(value);
-        }
-        
-        return this;
-    }
-
-    /**
-     * remove all entries
-     *
-     * @returns {Queue}
-     */
-    clear() {
-        super.clear();
-        this.unique = new WeakSet;
-        return this;
-    }
-
-    /**
-     * Remove the element at the front of the queue
-     * If the queue is empty, return undefined.
-     *
-     * @return {object}
-     */
-    poll() {
-
-        if (this.isEmpty()) {
-            return undefined;
-        }
-        let value = this.data.shift();
-        this.unique.delete(value);
-        return value;
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Types', UniqueQueue);
-export {Monster, UniqueQueue}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_validate.js.html b/docs/types_validate.js.html
deleted file mode 100644
index a09ef1598..000000000
--- a/docs/types_validate.js.html
+++ /dev/null
@@ -1,567 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/validate.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/validate.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {
-    isPrimitive,
-    isBoolean,
-    isString,
-    isObject,
-    isArray,
-    isFunction,
-    isIterable,
-    isInstance,
-    isInteger
-} from './is.js';
-
-/**
- * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
- * console.log(Monster.Types.validateIterable([])) // ↦ undefined
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateIterable('2'))  // ↦ TypeError
- * console.log(validateIterable([]))  // ↦ undefined
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.2.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not a primitive
- * @see {@link isPrimitive}
- * @see {@link Monster/Types/isPrimitive}
- * @see {@link Monster/Types#isPrimitive}
- */
-function validateIterable(value) {
-    if (!isIterable(value)) {
-        throw new TypeError('value is not iterable')
-    }
-}
-
-/**
- * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined
- * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validatePrimitive('2'))  // ↦ undefined
- * console.log(validatePrimitive([]))  // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not a primitive
- * @see {@link isPrimitive}
- * @see {@link Monster/Types/isPrimitive}
- * @see {@link Monster/Types#isPrimitive}
- */
-function validatePrimitive(value) {
-    if (!isPrimitive(value)) {
-        throw new TypeError('value is not a primitive')
-    }
-}
-
-/**
- * this method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateBoolean()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined
- * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
- * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateBoolean(false))  // ↦ undefined
- * console.log(validateBoolean('2'))  // ↦ TypeError
- * console.log(validateBoolean([]))  // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
-
- * @throws {TypeError}  value is not primitive
- */
-function validateBoolean(value) {
-    if (!isBoolean(value)) {
-        throw new TypeError('value is not a boolean')
-    }
-}
-
-/**
- * this method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateString()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateString('2')) // ↦ undefined
- * console.log(Monster.Types.validateString([])) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateString('2'))  // ↦ undefined
- * console.log(validateString([]))  // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not a string
- */
-function validateString(value) {
-    if (!isString(value)) {
-        throw new TypeError('value is not a string')
-    }
-}
-
-
-/**
- * this method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateObject()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateObject({})) // ↦ undefined
- * console.log(Monster.Types.validateObject('2')) // ↦ TypeError
- * console.log(Monster.Types.validateObject([])) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateObject({}))  // ↦ undefined
- * console.log(validateObject('2'))  // ↦ TypeError
- * console.log(validateObject([]))  // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not a object
- */
-function validateObject(value) {
-    if (!isObject(value)) {
-        throw new TypeError('value is not a object')
-    }
-}
-
-/**
- * this method checks if the type matches the object instance.
- *
- * you can call the method via the monster namespace `Monster.Types.validateInstance()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined
- * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
- * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateInstance({}, Object)) // ↦ undefined
- * console.log(validateInstance('2', Object)) // ↦ TypeError
- * console.log(validateInstance([], Object)) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.5.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not an instance of
- */
-function validateInstance(value, instance) {
-    if (!isInstance(value, instance)) {
-        let n = "";
-        if (isObject(instance) || isFunction(instance)) {
-            n = instance?.['name']
-        }
-
-        if (n) {
-            n = " " + n;
-        }
-
-        throw new TypeError('value is not an instance of' + n)
-    }
-}
-
-/**
- * this method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateArray()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateArray('2')) // ↦ TypeError
- * console.log(Monster.Types.validateArray([])) // ↦ undefined
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateArray('2'))  // ↦ TypeError
- * console.log(validateArray([]))  // ↦ undefined
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not an array
- */
-function validateArray(value) {
-    if (!isArray(value)) {
-        throw new TypeError('value is not an array')
-    }
-}
-
-/**
- * this method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateFunction()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined
- * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
- * console.log(Monster.Types.validateFunction([])) // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateFunction(()=>{})) // ↦ undefined
- * console.log(validateFunction('2'))  // ↦ TypeError
- * console.log(validateFunction([]))  // ↦ TypeError
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not a function
- */
-function validateFunction(value) {
-    if (!isFunction(value)) {
-        throw new TypeError('value is not a function')
-    }
-}
-
-/**
- * this method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.
- *
- * you can call the method via the monster namespace `Monster.Types.validateInteger()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
- * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
- * console.log(Monster.Types.validateInteger(2)) // ↦ undefined
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
- * console.log(validateInteger(true)) // ↦ TypeError
- * console.log(validateInteger('2'))  // ↦ TypeError
- * console.log(validateInteger(2))  // ↦ undefined
- * &lt;/script>
- * ```
- *
- * @param {*} value
- * @return {undefined}
- * @since 1.4.0
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- * @throws {TypeError} value is not an integer
- */
-function validateInteger(value) {
-    if (!isInteger(value)) {
-        throw new TypeError('value is not an integer')
-    }
-}
-
-Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);
-export {
-    Monster,
-    validatePrimitive,
-    validateBoolean,
-    validateString,
-    validateObject,
-    validateInstance,
-    validateArray,
-    validateFunction,
-    validateIterable,
-    validateInteger
-}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/types_version.js.html b/docs/types_version.js.html
deleted file mode 100644
index c66a3602a..000000000
--- a/docs/types_version.js.html
+++ /dev/null
@@ -1,371 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      types/version.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        types/version.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-import {Monster} from '../namespace.js';
-import {Base} from './base.js';
-
-/**
- * the version object contains a sematic version number
- *
- * you can create the object via the monster namespace `new Monster.Types.Version()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
- * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
- * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this class individually.
- *
- * ```
- * &lt;script type="module">
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
- * console.log(new Version('1.2.3')) // ↦ 1.2.3
- * console.log(new Version('1')) // ↦ 1.0.0
- * &lt;/script>
- * ```
- *
- * @example
- *
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
- *
- * new Version('1.0.0') // ↦ 1.0.0
- * new Version(1)  // ↦ 1.0.0
- * new Version(1, 0, 0) // ↦ 1.0.0
- * new Version('1.2.3', 4, 5) // ↦ 1.4.5
- *
- * @since 1.0.0
- * @author schukai GmbH
- * @copyright schukai GmbH
- * @memberOf Monster/Types
- */
-class Version extends Base {
-
-    /**
-     *
-     * @param major
-     * @param minor
-     * @param patch
-     * @throws {Error} major is not a number
-     * @throws {Error} minor is not a number
-     * @throws {Error} patch is not a number
-     */
-    constructor(major, minor, patch) {
-        super();
-
-        if (typeof major === 'string' &amp;&amp; minor === undefined &amp;&amp; patch === undefined) {
-
-            let parts = major.toString().split('.');
-            major = parseInt(parts[0] || 0);
-            minor = parseInt(parts[1] || 0);
-            patch = parseInt(parts[2] || 0);
-        }
-
-        if (major === undefined) {
-            throw  new Error("major version is undefined");
-        }
-
-        if (minor === undefined) {
-            minor = 0;
-        }
-
-        if (patch === undefined) {
-            patch = 0;
-        }
-
-        this.major = parseInt(major);
-        this.minor = parseInt(minor);
-        this.patch = parseInt(patch);
-
-        if (isNaN(this.major)) {
-            throw  new Error("major is not a number");
-        }
-
-        if (isNaN(this.minor)) {
-            throw  new Error("minor is not a number");
-        }
-
-        if (isNaN(this.patch)) {
-            throw  new Error("patch is not a number");
-        }
-
-    }
-
-    /**
-     *
-     * @returns {string}
-     */
-    toString() {
-        return this.major + '.' + this.minor + '.' + this.patch;
-    }
-
-    /**
-     * returns 0 if equal, -1 if the object version is less and 1 if greater
-     * then the compared version
-     *
-     * @param {string|Version} version Version to compare
-     * @returns {number}
-     */
-    compareTo(version) {
-
-        if (version instanceof Version) {
-            version = version.toString();
-        }
-
-        if (typeof version !== 'string') {
-            throw  new Error("type exception");
-        }
-
-        if (version === this.toString()) {
-            return 0;
-        }
-
-        let a = [this.major, this.minor, this.patch];
-        let b = version.split('.');
-        let len = Math.max(a.length, b.length);
-
-        for (let i = 0; i &lt; len; i += 1) {
-            if ((a[i] &amp;&amp; !b[i] &amp;&amp; parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {
-                return 1;
-            } else if ((b[i] &amp;&amp; !a[i] &amp;&amp; parseInt(b[i]) > 0) || (parseInt(a[i]) &lt; parseInt(b[i]))) {
-                return -1;
-            }
-        }
-
-        return 0;
-    };
-
-}
-
-Monster.assignToNamespace('Monster.Types', Version);
-
-
-let monsterVersion;
-
-/**
- * Version of monster
- *
- * you can call the method via the monster namespace `Monster.getVersion()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
- * console.log(Monster.getVersion())
- * console.log(Monster.getVersion())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
- * console.log(getVersion())
- * console.log(getVersion())
- * &lt;/script>
- * ```
- *
- * @returns {Monster.Types.Version}
- * @since 1.0.0
- * @copyright schukai GmbH
- * @author schukai GmbH
- * @memberOf Monster
- */
-function getVersion() {
-    if (monsterVersion instanceof Version) {
-        return monsterVersion;
-    }
-    /**#@+ dont touch, replaced by make with package.json version */
-    monsterVersion = new Version('1.7.0')
-    /**#@-*/
-    return monsterVersion;
-
-}
-
-Monster.assignToNamespace('Monster', getVersion);
-export {Monster, Version, getVersion}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/util_clone.js.html b/docs/util_clone.js.html
deleted file mode 100644
index 18a6a2590..000000000
--- a/docs/util_clone.js.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      util/clone.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        util/clone.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';
-import {getGlobal} from '../types/global.js';
-
-
-/**
- * with this function, objects can be cloned.
- * the entire object tree is run through.
- *
- * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.
- * Global objects such as windows are also not cloned,
- *
- * If an object has a method `getClone()`, this method is used to create the clone.
- *
- * you can call the method via the monster namespace `Monster.Util.clone()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
- * console.log(Monster.Util.clone({}))
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
- * console.log(clone({}))
- * &lt;/script>
- * ```
- *
- *
- * @param {*} obj object to be cloned
- * @returns {*}
- *
- * @since 1.0.0
- * @memberOf Monster/Util
- * @copyright schukai GmbH
- * @throws {Error} unable to clone obj! its type isn't supported.
- */
-function clone(obj) {
-
-    // typeof null results in 'object'.  https://2ality.com/2013/10/typeof-null.html
-    if (null === obj) {
-        return obj;
-    }
-
-    // Handle the two simple types, null and undefined
-    if (isPrimitive(obj)) {
-        return obj;
-    }
-    
-    // Handle the two simple types, null and undefined
-    if (isFunction(obj)) {
-        return obj;
-    }
-
-    // Handle Array
-    if (isArray(obj)) {
-        let copy = [];
-        for (var i = 0, len = obj.length; i &lt; len; i++) {
-            copy[i] = clone(obj[i]);
-        }
-
-        return copy;
-    }
-
-    if (isObject(obj)) {
-
-
-        // Handle Date
-        if (obj instanceof Date) {
-            let copy = new Date();
-            copy.setTime(obj.getTime());
-            return copy;
-        }
-
-        /** Do not clone DOM nodes */
-        if (typeof Element !== 'undefined' &amp;&amp; obj instanceof Element) return obj;
-        if (typeof HTMLDocument !== 'undefined' &amp;&amp; obj instanceof HTMLDocument) return obj;
-        if (typeof DocumentFragment !== 'undefined' &amp;&amp; obj instanceof DocumentFragment) return obj;
-
-        /** Do not clone global objects */
-        if (obj === getGlobal()) return obj;
-        if (typeof globalContext !== 'undefined' &amp;&amp; obj === globalContext) return obj;
-        if (typeof window !== 'undefined' &amp;&amp; obj === window) return obj;
-        if (typeof document !== 'undefined' &amp;&amp; obj === document) return obj;
-        if (typeof navigator !== 'undefined' &amp;&amp; obj === navigator) return obj;
-        if (typeof JSON !== 'undefined' &amp;&amp; obj === JSON) return obj;
-
-        // Handle Proxy-Object
-        try {
-            // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check
-            if (obj instanceof Proxy) {
-                return obj;
-            }
-        } catch (e) {
-        }
-
-        return cloneObject(obj)
-
-    }
-
-    throw new Error("unable to clone obj! its type isn't supported.");
-}
-
-/**
- *
- * @param {object} obj
- * @returns {object}
- * @private
- */
-function cloneObject(obj) {
-    var copy;
-
-    /** Object has clone method */
-    if (typeof obj.hasOwnProperty('getClone') &amp;&amp; obj.getClone === 'function') {
-        return obj.getClone();
-    }
-
-    copy = {};
-    if (typeof obj.constructor === 'function' &amp;&amp;
-        typeof obj.constructor.call === 'function') {
-        copy = new obj.constructor();
-    }
-
-    for (let key in obj) {
-
-        if (!obj.hasOwnProperty(key)) {
-            continue;
-        }
-
-        if (Monster.Types.isPrimitive(obj[key])) {
-            copy[key] = obj[key];
-            continue;
-        }
-
-        copy[key] = clone(obj[key]);
-    }
-
-    return copy;
-}
-
-Monster.assignToNamespace('Monster.Util', clone);
-export {Monster, clone}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/util_comparator.js.html b/docs/util_comparator.js.html
deleted file mode 100644
index b6caea29c..000000000
--- a/docs/util_comparator.js.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      util/comparator.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        util/comparator.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster, Base} from '../types/base.js';
-import {isFunction} from '../types/is.js';
-
-/**
- * the comparator allows a comparison function to be abstracted.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new Monster.Util.Comparator())
- * console.log(new Monster.Util.Comparator())
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new Util())
- * console.log(new Util())
- * &lt;/script>
- * ```
- *
- * the following are some examples of the application of the class.
- *
- * ```
- * new Comparator().lessThanOrEqual(2, 5) // ↦ true
- * new Comparator().greaterThan(4, 2) // ↦ true
- * new Comparator().equal(4, 4) // ↦ true
- * new Comparator().equal(4, 5) // ↦ false
- * ```
- *
- * you can also pass your own comparison function, and thus define the comparison function.
- *
- * ```
- * new Comparator(function (a, b) {
- *      if (a.v === b.v) return 0;
- *         return a.v &lt; b.v ? -1 : 1;
- *      }).equal({v: 2}, {v: 2});  // ↦ true
- * ```
- *
- * @since 1.3.0
- * @memberOf Monster/Util
- */
-class Comparator extends Base {
-
-    /**
-     * create new comparator
-     *
-     * @param {function} callback
-     * @throw {TypeError} "unsupported type"
-     * @throw {TypeError} "impractical comparison"
-     */
-    constructor(callback) {
-        super();
-
-        if (isFunction(callback)) {
-            this.compare = callback
-        } else if (callback !== undefined) {
-            throw new TypeError("unsupported type")
-        } else {
-            // default compare function
-            this.compare = function (a, b) {
-
-                if (typeof a !== typeof b) {
-                    throw new TypeError("impractical comparison")
-                }
-
-                if (a === b) {
-                    return 0;
-                }
-                return a &lt; b ? -1 : 1;
-            };
-        }
-
-    }
-
-    /**
-     * changes the order of the operators
-     *
-     * @return {Comparator}
-     */
-    reverse() {
-        const original = this.compare;
-        this.compare = (a, b) => original(b, a);
-        return this;
-    }
-
-    /**
-     * Checks if two variables are equal.
-     *
-     * @param {*} a
-     * @param {*} b
-     *
-     * @return {boolean}
-     */
-    equal(a, b) {
-        return this.compare(a, b) === 0;
-    }
-
-
-    /**
-     * Checks if variable `a` is greater than `b`
-     *
-     * @param {*} a
-     * @param {*} b
-     *
-     * @return {boolean}
-     */
-    greaterThan(a, b) {
-        return this.compare(a, b) > 0;
-    }
-
-    /**
-     * Checks if variable `a` is greater than or equal to `b`
-     *
-     * @param {*} a
-     * @param {*} b
-     *
-     * @return {boolean}
-     */
-    greaterThanOrEqual(a, b) {
-        return this.greaterThan(a, b) || this.equal(a, b);
-    }
-
-    /**
-     * Checks if variable `a` is less than or equal to `b`
-     *
-     * @param {*} a
-     * @param {*} b
-     *
-     * @return {boolean}
-     */
-    lessThanOrEqual(a, b) {
-        return this.lessThan(a, b) || this.equal(a, b);
-    }
-
-    /**
-     * Checks if variable a is less than b
-     *
-     * @param {*} a
-     * @param {*} b
-     *
-     * @return {boolean}
-     */
-    lessThan(a, b) {
-        return this.compare(a, b) &lt; 0;
-    }
-
-
-}
-
-Monster.assignToNamespace('Monster.Util', Comparator);
-export {Monster, Comparator}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/util_freeze.js.html b/docs/util_freeze.js.html
deleted file mode 100644
index f56e39199..000000000
--- a/docs/util_freeze.js.html
+++ /dev/null
@@ -1,241 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      util/freeze.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        util/freeze.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @author schukai GmbH
- */
-
-import {Monster} from '../namespace.js';
-import {validateObject} from '../types/validate.js';
-
-/**
- * deep freeze a object
- *
- * you can call the method via the monster namespace `Monster.Util.deepFreeze()`.
- *
- * ```
- * &lt;script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
- * console.log(Monster.Util.deepFreeze({})) 
- * &lt;/script>
- * ```
- *
- * Alternatively, you can also integrate this function individually.
- *
- * ```
- * &lt;script type="module">
- * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
- * console.log(deepFreeze({}))  
- * &lt;/script>
- * ```
- *
- * @param {object} obj object to be freeze
- * @since 1.0.0
- * @returns {object}
- * @memberOf Monster/Util
- * @copyright schukai GmbH
- * @throws {TypeError} value is not a object
- */
-function deepFreeze(object) {
-    
-    validateObject(object)
-
-    // Retrieve the defined property names of the object
-    var propNames = Object.getOwnPropertyNames(object);
-
-    // Freeze properties before freezing yourself
-    for (let name of propNames) {
-        let value = object[name];
-
-        object[name] = value &amp;&amp; typeof value === "object" ?
-            deepFreeze(value) : value;
-    }
-
-    return Object.freeze(object);
-}
-
-Monster.assignToNamespace('Monster.Util', deepFreeze);
-export {Monster, deepFreeze}
-</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/docs/util_namespace.js.html b/docs/util_namespace.js.html
deleted file mode 100644
index 7709858fc..000000000
--- a/docs/util_namespace.js.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-  <head>
-    <meta charset="utf-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-    <!-- Adding meta -->
-    
-    
-    <meta name="author" content="schukai GmbH" />
-    
-    <meta name="description" content="javascript library for optimal use on fast and flexible pages." />
-    
-    
-
-    <!-- Adding external script-->
-    
-    
-    <script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous" ></script>
-    
-    
-
-    <!-- Adding external style-->
-    
-    
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" integrity="sha256-djO3wMl9GeaC/u6K+ic4Uj/LKhRUSlUFcsruzS7v5ms=" crossorigin="anonymous" />
-    
-    
-
-    <!-- Adding scripts-->
-    
-
-    <!-- Adding style-->
-    
-
-    <!-- Adding overlay script-->
-    
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/1.13.0/js/OverlayScrollbars.min.js"
-      integrity="sha512-5R3ngaUdvyhXkQkIqTf/k+Noq3phjmrqlUQyQYbgfI34Mzcx7vLIIYTy/K1VMHkL33T709kfh5y6R9Xy/Cbt7Q=="
-      crossorigin="anonymous"></script>
-    
-
-    <!-- Adding overlay style-->
-    
-
-
-    <title>
-      util/namespace.js
-    </title>
-
-    <!--[if lt IE 9]>
-      <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-    <![endif]-->
-    <link type="text/css" rel="stylesheet" href="styles/third-party/ionicons.min.css">
-    <link type="text/css" rel="stylesheet" href="styles/third-party/prettify-tomorrow.css">
-    <link type="text/css" rel="stylesheet" href="styles/reset.css">
-    <link type="text/css" rel="stylesheet" href="styles/heading.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-base.css">
-    <link type="text/css" rel="stylesheet" href="styles/clean-jsdoc-theme-light.css">
-    
-    <svg aria-hidden="true" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
-    style="display:none">
-    <defs>
-        <symbol id="copy-icon" viewbox="0 0 488.3 488.3">
-            <g>
-                <path
-                    d="M314.25,85.4h-227c-21.3,0-38.6,17.3-38.6,38.6v325.7c0,21.3,17.3,38.6,38.6,38.6h227c21.3,0,38.6-17.3,38.6-38.6V124    C352.75,102.7,335.45,85.4,314.25,85.4z M325.75,449.6c0,6.4-5.2,11.6-11.6,11.6h-227c-6.4,0-11.6-5.2-11.6-11.6V124    c0-6.4,5.2-11.6,11.6-11.6h227c6.4,0,11.6,5.2,11.6,11.6V449.6z" />
-                <path
-                    d="M401.05,0h-227c-21.3,0-38.6,17.3-38.6,38.6c0,7.5,6,13.5,13.5,13.5s13.5-6,13.5-13.5c0-6.4,5.2-11.6,11.6-11.6h227    c6.4,0,11.6,5.2,11.6,11.6v325.7c0,6.4-5.2,11.6-11.6,11.6c-7.5,0-13.5,6-13.5,13.5s6,13.5,13.5,13.5c21.3,0,38.6-17.3,38.6-38.6    V38.6C439.65,17.3,422.35,0,401.05,0z" />
-            </g>
-        </symbol>
-        <symbol id='search-icon' viewBox="0 0 512 512">
-            <g>
-                <g>
-                    <path
-                        d="M225.474,0C101.151,0,0,101.151,0,225.474c0,124.33,101.151,225.474,225.474,225.474    c124.33,0,225.474-101.144,225.474-225.474C450.948,101.151,349.804,0,225.474,0z M225.474,409.323    c-101.373,0-183.848-82.475-183.848-183.848S124.101,41.626,225.474,41.626s183.848,82.475,183.848,183.848    S326.847,409.323,225.474,409.323z" />
-                </g>
-            </g>
-            <g>
-                <g>
-                    <path
-                        d="M505.902,476.472L386.574,357.144c-8.131-8.131-21.299-8.131-29.43,0c-8.131,8.124-8.131,21.306,0,29.43l119.328,119.328    c4.065,4.065,9.387,6.098,14.715,6.098c5.321,0,10.649-2.033,14.715-6.098C514.033,497.778,514.033,484.596,505.902,476.472z" />
-                </g>
-            </g>
-        </symbol>
-        <symbol id="down-icon" viewBox="0 0 16 16">
-            <path 
-                fill-rule="evenodd" 
-                clip-rule="evenodd" 
-                d="M12.7803 6.21967C13.0732 6.51256 13.0732 6.98744 12.7803 7.28033L8.53033 11.5303C8.23744 11.8232 7.76256 11.8232 7.46967 11.5303L3.21967 7.28033C2.92678 6.98744 2.92678 6.51256 3.21967 6.21967C3.51256 5.92678 3.98744 5.92678 4.28033 6.21967L8 9.93934L11.7197 6.21967C12.0126 5.92678 12.4874 5.92678 12.7803 6.21967Z"
-            >
-            </path>
-        </symbol>
-    </defs>
-</svg>
-  </head>
-
-  <body>
-
-    <nav class="navbar" id="navbar">
-      <div class="navbar-heading" id="navbar-heading"><a href="index.html"><h2 class="navbar-heading-text">Monster</h2></a></div><div class="sidebar-main-content" id="sidebar-main-content"><ul><li class="menu-li"><a href='https://www.schukai.com/' class=' menu-link' id='' target='_blank'>schukai GmbH</a></li><li class="menu-li"><a href='https://www.npmjs.com/package/@schukai/monster' class=' menu-link' id='' target='_blank'>NPM</a></li></ul><div class="accordion collapsed" id="6860741" > <h3 class="accordion-heading">Classes<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=7926162><div class="accordion-heading child"><a href="Monster.DOM.Handle.html">Handle</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.DOM.Handle.html#append">append</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#remove">remove</a></li><li data-type='method'><a href="Monster.DOM.Handle.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=4811880><div class="accordion-heading child"><a href="Monster.Namespace.html">Namespace</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster.Namespace.html#getNamespace">getNamespace</a></li><li data-type='method'><a href="Monster.Namespace.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=6765878><div class="accordion-heading child"><a href="Monster_Constraints.AbstractConstraint.html">AbstractConstraint</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AbstractConstraint.html#isValid">isValid</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.AbstractOperator.html">AbstractOperator</a></li><li class="accordion collapsed child" id=7933401><div class="accordion-heading child"><a href="Monster_Constraints.AndOperator.html">AndOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.AndOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=3502117><div class="accordion-heading child"><a href="Monster_Constraints.Invalid.html">Invalid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Invalid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=1871919><div class="accordion-heading child"><a href="Monster_Constraints.IsArray.html">IsArray</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsArray.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=98584><div class="accordion-heading child"><a href="Monster_Constraints.IsObject.html">IsObject</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.IsObject.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=229181><div class="accordion-heading child"><a href="Monster_Constraints.OrOperator.html">OrOperator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.OrOperator.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=7378651><div class="accordion-heading child"><a href="Monster_Constraints.Valid.html">Valid</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Constraints.Valid.html#isValid">isValid</a></li></ul></li><li class="accordion collapsed child" id=9803163><div class="accordion-heading child"><a href="Monster_Data.Pathfinder.html">Pathfinder</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pathfinder.html#deleteVia">deleteVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#exists">exists</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#getVia">getVia</a></li><li data-type='method'><a href="Monster_Data.Pathfinder.html#setVia">setVia</a></li></ul></li><li class="accordion collapsed child" id=3416119><div class="accordion-heading child"><a href="Monster_Data.Pipe.html">Pipe</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Pipe.html#run">run</a></li></ul></li><li class="accordion collapsed child" id=237921><div class="accordion-heading child"><a href="Monster_Data.Transformer.html">Transformer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.Transformer.html#run">run</a></li><li data-type='method'><a href="Monster_Data.Transformer.html#setCallback">setCallback</a></li></ul></li><li class="accordion collapsed child" id=2674151><div class="accordion-heading child"><a href="Monster_DOM.Assembler.html">Assembler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Assembler.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#getAttributePrefix">getAttributePrefix</a></li><li data-type='method'><a href="Monster_DOM.Assembler.html#setAttributePrefix">setAttributePrefix</a></li></ul></li><li class="accordion collapsed child" id=5526255><div class="accordion-heading child"><a href="Monster_DOM.CustomElement.html">CustomElement</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.CustomElement.html#.getTag">getTag</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#adoptedCallback">adoptedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#attributeChangedCallback">attributeChangedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#connectedCallback">connectedCallback</a></li><li data-type='method'><a href="Monster_DOM.CustomElement.html#disconnectedCallback">disconnectedCallback</a></li></ul></li><li class="accordion collapsed child" id=7190515><div class="accordion-heading child"><a href="Monster_DOM.Template.html">Template</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Template.html#createDocumentFragment">createDocumentFragment</a></li><li data-type='method'><a href="Monster_DOM.Template.html#getTemplateElement">getTemplateElement</a></li></ul></li><li class="accordion collapsed child" id=44859><div class="accordion-heading child"><a href="Monster_DOM.Theme.html">Theme</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.Theme.html#getName">getName</a></li></ul></li><li class="accordion collapsed child" id=3203130><div class="accordion-heading child"><a href="Monster_Logging.Handler.html">Handler</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Handler.html#getLogLevel">getLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#log">log</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setAll">setAll</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setDebug">setDebug</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setError">setError</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setFatal">setFatal</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setInfo">setInfo</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setLogLevel">setLogLevel</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setOff">setOff</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setTrace">setTrace</a></li><li data-type='method'><a href="Monster_Logging.Handler.html#setWarn">setWarn</a></li></ul></li><li class="accordion collapsed child" id=8968507><div class="accordion-heading child"><a href="Monster_Logging.LogEntry.html">LogEntry</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.LogEntry.html#getArguments">getArguments</a></li><li data-type='method'><a href="Monster_Logging.LogEntry.html#getLogLevel">getLogLevel</a></li></ul></li><li class="accordion collapsed child" id=6423677><div class="accordion-heading child"><a href="Monster_Logging.Logger.html">Logger</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Logging.Logger.html#addHandler">addHandler</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLabel">getLabel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#getLevel">getLevel</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logDebug">logDebug</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logError">logError</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logFatal">logFatal</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logInfo">logInfo</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logTrace">logTrace</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#logWarn">logWarn</a></li><li data-type='method'><a href="Monster_Logging.Logger.html#removeHandler">removeHandler</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.ConsoleHandler.html">ConsoleHandler</a></li><li class="accordion collapsed child" id=1322296><div class="accordion-heading child"><a href="Monster_Types.Base.html">Base</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Base.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=319052><div class="accordion-heading child"><a href="Monster_Types.ID.html">ID</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ID.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=5497693><div class="accordion-heading child"><a href="Monster_Types.Observer.html">Observer</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Observer.html#addTag">addTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#getTags">getTags</a></li><li data-type='method'><a href="Monster_Types.Observer.html#hasTag">hasTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#removeTag">removeTag</a></li><li data-type='method'><a href="Monster_Types.Observer.html#update">update</a></li></ul></li><li class="accordion collapsed child" id=9326539><div class="accordion-heading child"><a href="Monster_Types.ObserverList.html">ObserverList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ObserverList.html#attach">attach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#detach">detach</a></li><li data-type='method'><a href="Monster_Types.ObserverList.html#notify">notify</a></li></ul></li><li class="accordion collapsed child" id=6814603><div class="accordion-heading child"><a href="Monster_Types.ProxyObserver.html">ProxyObserver</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.ProxyObserver.html#attachObserver">attachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#containsObserver">containsObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#detachObserver">detachObserver</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getRealSubject">getRealSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#getSubject">getSubject</a></li><li data-type='method'><a href="Monster_Types.ProxyObserver.html#notifyObservers">notifyObservers</a></li></ul></li><li class="accordion collapsed child" id=3231315><div class="accordion-heading child"><a href="Monster_Types.Queue.html">Queue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Queue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.Queue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Queue.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Queue.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Queue.html#poll">poll</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Types.RandomID.html">RandomID</a></li><li class="accordion collapsed child" id=7863238><div class="accordion-heading child"><a href="Monster_Types.Stack.html">Stack</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Stack.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.Stack.html#isEmpty">isEmpty</a></li><li data-type='method'><a href="Monster_Types.Stack.html#peek">peek</a></li><li data-type='method'><a href="Monster_Types.Stack.html#pop">pop</a></li><li data-type='method'><a href="Monster_Types.Stack.html#push">push</a></li></ul></li><li class="accordion collapsed child" id=6611448><div class="accordion-heading child"><a href="Monster_Types.TokenList.html">TokenList</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.TokenList.html#add">add</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#contains">contains</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#entries">entries</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#forEach">forEach</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#getIterator">getIterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#remove">remove</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#replace">replace</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#Symbol.iterator">Symbol.iterator</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toggle">toggle</a></li><li data-type='method'><a href="Monster_Types.TokenList.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=7048336><div class="accordion-heading child"><a href="Monster_Types.UniqueQueue.html">UniqueQueue</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.UniqueQueue.html#add">add</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#clear">clear</a></li><li data-type='method'><a href="Monster_Types.UniqueQueue.html#poll">poll</a></li></ul></li><li class="accordion collapsed child" id=9267327><div class="accordion-heading child"><a href="Monster_Types.Version.html">Version</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.Version.html#compareTo">compareTo</a></li><li data-type='method'><a href="Monster_Types.Version.html#toString">toString</a></li></ul></li><li class="accordion collapsed child" id=4126941><div class="accordion-heading child"><a href="Monster_Util.Comparator.html">Comparator</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.Comparator.html#equal">equal</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThan">greaterThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#greaterThanOrEqual">greaterThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThan">lessThan</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#lessThanOrEqual">lessThanOrEqual</a></li><li data-type='method'><a href="Monster_Util.Comparator.html#reverse">reverse</a></li></ul></li></ul> </div><div class="accordion collapsed" id="6166926" > <h3 class="accordion-heading">Namespaces<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion collapsed child" id=9547987><div class="accordion-heading child"><a href="global.html#Monster">Monster</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="global.html#Monster#.assignToNamespace">assignToNamespace</a></li><li data-type='method'><a href="global.html#Monster#.getVersion">getVersion</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Constraints.html">Monster/Constraints</a></li><li class="accordion collapsed child" id=8231938><div class="accordion-heading child"><a href="Monster_Data.html">Monster/Data</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Data.html#.Diff">Diff</a></li></ul></li><li class="accordion collapsed child" id=9016027><div class="accordion-heading child"><a href="Monster_DOM.html">Monster/DOM</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_DOM.html#.findDocumentTemplate">findDocumentTemplate</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocument">getDocument</a></li><li data-type='method'><a href="Monster_DOM.html#.getDocumentFragmentFromString">getDocumentFragmentFromString</a></li><li data-type='method'><a href="Monster_DOM.html#.getHandleFromNode">getHandleFromNode</a></li><li data-type='method'><a href="Monster_DOM.html#.getWindow">getWindow</a></li><li data-type='method'><a href="Monster_DOM.html#.registerCustomElement">registerCustomElement</a></li></ul></li><li class="accordion-list" id=""><a href="Monster_Logging.html">Monster/Logging</a></li><li class="accordion-list" id=""><a href="Monster_Logging_Handler.html">Monster/Logging/Handler</a></li><li class="accordion collapsed child" id=4777597><div class="accordion-heading child"><a href="Monster_Math.html">Monster/Math</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Math.html#.random">random</a></li></ul></li><li class="accordion collapsed child" id=7886089><div class="accordion-heading child"><a href="Monster_Types.html">Monster/Types</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Types.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalFunction">getGlobalFunction</a></li><li data-type='method'><a href="Monster_Types.html#.getGlobalObject">getGlobalObject</a></li><li data-type='method'><a href="Monster_Types.html#.isArray">isArray</a></li><li data-type='method'><a href="Monster_Types.html#.isBoolean">isBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.isFunction">isFunction</a></li><li data-type='method'><a href="Monster_Types.html#.isInstance">isInstance</a></li><li data-type='method'><a href="Monster_Types.html#.isInteger">isInteger</a></li><li data-type='method'><a href="Monster_Types.html#.isIterable">isIterable</a></li><li data-type='method'><a href="Monster_Types.html#.isObject">isObject</a></li><li data-type='method'><a href="Monster_Types.html#.isPrimitive">isPrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.isString">isString</a></li><li data-type='method'><a href="Monster_Types.html#.validateArray">validateArray</a></li><li data-type='method'><a href="Monster_Types.html#.validateBoolean">validateBoolean</a></li><li data-type='method'><a href="Monster_Types.html#.validateFunction">validateFunction</a></li><li data-type='method'><a href="Monster_Types.html#.validateInstance">validateInstance</a></li><li data-type='method'><a href="Monster_Types.html#.validateInteger">validateInteger</a></li><li data-type='method'><a href="Monster_Types.html#.validateIterable">validateIterable</a></li><li data-type='method'><a href="Monster_Types.html#.validateObject">validateObject</a></li><li data-type='method'><a href="Monster_Types.html#.validatePrimitive">validatePrimitive</a></li><li data-type='method'><a href="Monster_Types.html#.validateString">validateString</a></li></ul></li><li class="accordion collapsed child" id=6151591><div class="accordion-heading child"><a href="Monster_Util.html">Monster/Util</a><svg><use xlink:href="#down-icon"></use></svg></div><ul class='methods accordion-content'><li data-type='method'><a href="Monster_Util.html#.clone">clone</a></li><li data-type='method'><a href="Monster_Util.html#.deepFreeze">deepFreeze</a></li></ul></li></ul> </div><div class="accordion collapsed" id="7755286" > <h3 class="accordion-heading">Global<svg><use xlink:href="#down-icon"></use></svg></h3><ul class="accordion-content"><li class="accordion-list" id=""><a href="global.html#DEFAULT_THEME">DEFAULT_THEME</a></li><li class="accordion-list" id=""><a href="global.html#findDocumentTheme">findDocumentTheme</a></li></ul> </div></div>
-      
-        <div class="navbar-resize" id="navbar-resize">
-          <div class="resize-dots-container">
-            <div class="dots"></div>
-            <div class="dots"></div>
-            <div class="dots"></div>
-          </div> 
-        </div>
-      
-
-    </nav>
-    <div class="navbar-ham" id="navbar-ham">
-      <div>
-        <div class="first"></div>
-        <div class="second"></div>
-        <div class="third"></div>
-      </div>
-    </div>
-
-    <div id="main" class="main-content">
-      
-      <h1 id='page-title' class="page-title">
-        util/namespace.js
-      </h1>
-      
-
-      
-
-
-
-    
-    <section>
-        <article>
-            <pre class="prettyprint source linenums"><code>'use strict';
-
-/**
- * @namespace Monster/Util
- * @author schukai GmbH
- */
-
-
-/**
- * @private
- * @type {string}
- */
-const namespace="Monster.Util";</code></pre>
-        </article>
-    </section>
-
-
-
-
-    </div>
-
-    <footer class="footer" id="footer">
-      <a href='https://about.schukai.com/de/impressum/'>Imprint</a>
-    </footer>
-
-    <script src="scripts/third-party/prettify.js"></script>
-    <script src="scripts/third-party/lang-css.js"></script>
-    <script type="text/javascript" src="scripts/misc.js"></script>
-
-    <script>prettyPrint();</script>
-    <script src="scripts/linenumber.js"></script>
-    <script src="scripts/fix-code-block.js"></script>
-    <script src="scripts/fix-navbar.js"></script>
-    
-
-    
-
-    
-      <script src="scripts/resize.js"></script>
-      <script type="text/javascript">
-        var option = {"min":"300","max":"600"}
-        setupResizeOptions(option)
-      </script>
-    
-
-    
-
-    
-    <script type="text/javascript">
-    var option = JSON.parse('{"options":{}}')
-      console.log(option)
-      document.addEventListener("DOMContentLoaded", function () {
-        OverlayScrollbars(document.querySelectorAll('body'), option.option || {});
-      });
-    </script>
-    
-
-
-  </body>
-
-</html>
\ No newline at end of file
diff --git a/jsdoc.json b/jsdoc.json
index 7d1a9f2c3..f8c5728e2 100644
--- a/jsdoc.json
+++ b/jsdoc.json
@@ -69,7 +69,7 @@
       },
       "codepen": {
         "enable_for": [
-          "examples","tutorials"
+          "examples"
         ],
         "options": {
           "title": "awaken the monster in you; javascript library by schukai GmbH",
diff --git a/package-lock.json b/package-lock.json
index ccc436314..89418b630 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,8 +8,7 @@
       "version": "x.x.x",
       "license": "see LICENSE file",
       "dependencies": {
-        "clean-jsdoc-theme": "^3.2.7",
-        "jsdom-global": "^3.0.2"
+        "istanbul-instrumenter-loader": "^3.0.1"
       },
       "devDependencies": {
         "@babel/cli": "^7.14.5",
@@ -21,12 +20,15 @@
         "@jsenv/node-module-import-map": "^13.6.0",
         "@peculiar/webcrypto": "^1.1.7",
         "@web/dev-server-import-maps": "^0.0.5",
+        "babel-plugin-istanbul": "^6.0.0",
         "babel-plugin-source-map-support": "^2.1.3",
         "babel-preset-env": "^1.7.0",
         "babelify": "^10.0.0",
         "browserify": "^17.0.0",
         "btoa": "^1.2.1",
         "chai": "^4.3.4",
+        "chai-dom": "^1.9.0",
+        "clean-jsdoc-theme": "^3.2.7",
         "crypt": "^0.0.2",
         "docdash": "^1.2.0",
         "eslint": "^7.28.0",
@@ -36,10 +38,12 @@
         "get-random-values": "^1.2.2",
         "jsdoc": "^3.6.7",
         "jsdom": "^16.6.0",
+        "jsdom-global": "^3.0.2",
         "lstat": "^1.0.0",
         "mocha": "^9.0.2",
         "mocha-headless": "^8.0.0",
         "mochify": "^8.1.0",
+        "nyc": "^15.1.0",
         "process": "^0.11.10",
         "sinon": "^11.1.1",
         "supertest": "^6.1.4",
@@ -486,6 +490,7 @@
       "version": "7.14.8",
       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
       "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
+      "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -1788,6 +1793,92 @@
       "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==",
       "dev": true
     },
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/@istanbuljs/schema": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
@@ -2060,6 +2151,7 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
       "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+      "dev": true,
       "engines": {
         "node": ">= 6"
       }
@@ -2306,10 +2398,198 @@
         "node": ">=10.0.0"
       }
     },
+    "node_modules/@webassemblyjs/ast": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
+      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
+      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/helper-api-error": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
+      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/helper-buffer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
+      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/helper-code-frame": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
+      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/wast-printer": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/helper-fsm": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
+      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/helper-module-context": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
+      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
+      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/helper-wasm-section": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
+      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/ieee754": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
+      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+      "peer": true,
+      "dependencies": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
+    },
+    "node_modules/@webassemblyjs/leb128": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
+      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+      "peer": true,
+      "dependencies": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/utf8": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
+      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
+      "peer": true
+    },
+    "node_modules/@webassemblyjs/wasm-edit": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
+      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/helper-wasm-section": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-opt": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "@webassemblyjs/wast-printer": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-gen": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
+      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-opt": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
+      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wasm-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
+      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "node_modules/@webassemblyjs/wast-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
+      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-code-frame": "1.9.0",
+        "@webassemblyjs/helper-fsm": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@webassemblyjs/wast-printer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
+      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "node_modules/@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+      "peer": true
+    },
+    "node_modules/@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "peer": true
+    },
     "node_modules/abab": {
       "version": "2.0.5",
       "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
-      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
+      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+      "dev": true
     },
     "node_modules/abbrev": {
       "version": "1.0.9",
@@ -2334,6 +2614,7 @@
       "version": "7.4.1",
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
       "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+      "dev": true,
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2345,6 +2626,7 @@
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
       "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+      "dev": true,
       "dependencies": {
         "acorn": "^7.1.1",
         "acorn-walk": "^7.1.1"
@@ -2374,6 +2656,7 @@
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
       "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+      "dev": true,
       "engines": {
         "node": ">=0.4.0"
       }
@@ -2382,6 +2665,7 @@
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
       "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
       "dependencies": {
         "debug": "4"
       },
@@ -2389,11 +2673,32 @@
         "node": ">= 6.0.0"
       }
     },
+    "node_modules/aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+      "dev": true,
+      "dependencies": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/aggregate-error/node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
       "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
       "dependencies": {
         "fast-deep-equal": "^3.1.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -2405,6 +2710,24 @@
         "url": "https://github.com/sponsors/epoberezkin"
       }
     },
+    "node_modules/ajv-errors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+      "peer": true,
+      "peerDependencies": {
+        "ajv": ">=5.0.0"
+      }
+    },
+    "node_modules/ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "peer": true,
+      "peerDependencies": {
+        "ajv": "^6.9.1"
+      }
+    },
     "node_modules/amdefine": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -2463,7 +2786,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -2473,7 +2796,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "remove-trailing-separator": "^1.0.1"
       },
@@ -2502,6 +2825,24 @@
         "node": ">=8"
       }
     },
+    "node_modules/append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+      "dev": true,
+      "dependencies": {
+        "default-require-extensions": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/aproba": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "peer": true
+    },
     "node_modules/archiver": {
       "version": "0.14.4",
       "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
@@ -2579,10 +2920,17 @@
       "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
       "dev": true
     },
+    "node_modules/archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+      "dev": true
+    },
     "node_modules/argparse": {
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
       "dependencies": {
         "sprintf-js": "~1.0.2"
       }
@@ -2591,7 +2939,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
       "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2600,7 +2947,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
       "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2609,7 +2955,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
       "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2639,7 +2984,6 @@
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2657,7 +3001,6 @@
       "version": "5.4.1",
       "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
       "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.0.0",
         "inherits": "^2.0.1",
@@ -2668,8 +3011,7 @@
     "node_modules/asn1.js/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/asn1js": {
       "version": "2.1.1",
@@ -2687,7 +3029,6 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
       "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
       "dependencies": {
         "object-assign": "^4.1.1",
         "util": "0.10.3"
@@ -2696,14 +3037,12 @@
     "node_modules/assert/node_modules/inherits": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-      "dev": true
+      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
     },
     "node_modules/assert/node_modules/util": {
       "version": "0.10.3",
       "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
       "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-      "dev": true,
       "dependencies": {
         "inherits": "2.0.1"
       }
@@ -2721,7 +3060,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
       "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2745,17 +3083,19 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
       "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
+      "devOptional": true
     },
     "node_modules/asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
     },
     "node_modules/at-least-node": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
       "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "dev": true,
       "engines": {
         "node": ">= 4.0.0"
       }
@@ -2764,7 +3104,6 @@
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true,
       "bin": {
         "atob": "bin/atob.js"
       },
@@ -2788,7 +3127,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
       "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
       "dependencies": {
         "chalk": "^1.1.3",
         "esutils": "^2.0.2",
@@ -2799,7 +3137,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2808,7 +3145,6 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
       "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2817,7 +3153,6 @@
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
       "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-      "dev": true,
       "dependencies": {
         "ansi-styles": "^2.2.1",
         "escape-string-regexp": "^1.0.2",
@@ -2832,14 +3167,12 @@
     "node_modules/babel-code-frame/node_modules/js-tokens": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-      "dev": true
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
     },
     "node_modules/babel-code-frame/node_modules/strip-ansi": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-      "dev": true,
       "dependencies": {
         "ansi-regex": "^2.0.0"
       },
@@ -2851,11 +3184,33 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
       "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-      "dev": true,
       "engines": {
         "node": ">=0.8.0"
       }
     },
+    "node_modules/babel-generator": {
+      "version": "6.26.1",
+      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+      "dependencies": {
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "detect-indent": "^4.0.0",
+        "jsesc": "^1.3.0",
+        "lodash": "^4.17.4",
+        "source-map": "^0.5.7",
+        "trim-right": "^1.0.1"
+      }
+    },
+    "node_modules/babel-generator/node_modules/jsesc": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+      "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
+    },
     "node_modules/babel-helper-builder-binary-assignment-operator-visitor": {
       "version": "6.24.1",
       "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
@@ -2987,7 +3342,6 @@
       "version": "6.23.0",
       "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
       "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
       "dependencies": {
         "babel-runtime": "^6.22.0"
       }
@@ -3010,6 +3364,22 @@
         "object.assign": "^4.1.0"
       }
     },
+    "node_modules/babel-plugin-istanbul": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+      "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^4.0.0",
+        "test-exclude": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/babel-plugin-polyfill-corejs2": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz",
@@ -3464,7 +3834,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
       "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
       "dependencies": {
         "core-js": "^2.4.0",
         "regenerator-runtime": "^0.11.0"
@@ -3474,7 +3843,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
       "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
       "dependencies": {
         "babel-runtime": "^6.26.0",
         "babel-traverse": "^6.26.0",
@@ -3487,7 +3855,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
       "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
       "dependencies": {
         "babel-code-frame": "^6.26.0",
         "babel-messages": "^6.23.0",
@@ -3504,7 +3871,6 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
       "dependencies": {
         "ms": "2.0.0"
       }
@@ -3513,7 +3879,6 @@
       "version": "9.18.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
       "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -3521,14 +3886,12 @@
     "node_modules/babel-traverse/node_modules/ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     "node_modules/babel-types": {
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
       "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
       "dependencies": {
         "babel-runtime": "^6.26.0",
         "esutils": "^2.0.2",
@@ -3540,7 +3903,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
       "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -3561,7 +3923,6 @@
       "version": "6.18.0",
       "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
       "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true,
       "bin": {
         "babylon": "bin/babylon.js"
       }
@@ -3569,14 +3930,12 @@
     "node_modules/balanced-match": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
     },
     "node_modules/base": {
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
       "dependencies": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -3594,7 +3953,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
       "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^1.0.0"
       },
@@ -3606,7 +3964,6 @@
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
       "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true,
       "funding": [
         {
           "type": "github",
@@ -3652,11 +4009,19 @@
       "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=",
       "dev": true
     },
+    "node_modules/big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/binary-extensions": {
       "version": "1.13.1",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
       "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -3665,7 +4030,6 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
       "optional": true,
       "dependencies": {
         "file-uri-to-path": "1.0.0"
@@ -3712,8 +4076,7 @@
     "node_modules/bn.js": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
+      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw=="
     },
     "node_modules/body-parser": {
       "version": "1.12.4",
@@ -3781,7 +4144,6 @@
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
       "dependencies": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
@@ -3791,7 +4153,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
       "dependencies": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -3811,8 +4172,7 @@
     "node_modules/brorand": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
     },
     "node_modules/brout": {
       "version": "1.3.0",
@@ -3986,7 +4346,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
       "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
       "dependencies": {
         "buffer-xor": "^1.0.3",
         "cipher-base": "^1.0.0",
@@ -4000,7 +4359,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
       "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
       "dependencies": {
         "browserify-aes": "^1.0.4",
         "browserify-des": "^1.0.0",
@@ -4011,7 +4369,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
       "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
       "dependencies": {
         "cipher-base": "^1.0.1",
         "des.js": "^1.0.0",
@@ -4023,7 +4380,6 @@
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
       "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^5.0.0",
         "randombytes": "^2.0.1"
@@ -4033,7 +4389,6 @@
       "version": "4.2.1",
       "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
       "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^5.1.1",
         "browserify-rsa": "^4.0.1",
@@ -4050,7 +4405,6 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
       "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.3",
         "string_decoder": "^1.1.1",
@@ -4064,7 +4418,6 @@
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
       "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
       "dependencies": {
         "pako": "~1.0.5"
       }
@@ -4126,20 +4479,17 @@
     "node_modules/buffer-from": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
     },
     "node_modules/buffer-xor": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
     },
     "node_modules/builtin-status-codes": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
     },
     "node_modules/bundle-collapser": {
       "version": "1.4.0",
@@ -4164,27 +4514,94 @@
       "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
       "dev": true
     },
-    "node_modules/cache-base": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
-      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
+    "node_modules/cacache": {
+      "version": "12.0.4",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
+      "peer": true,
       "dependencies": {
-        "collection-visit": "^1.0.0",
-        "component-emitter": "^1.2.1",
-        "get-value": "^2.0.6",
-        "has-value": "^1.0.0",
-        "isobject": "^3.0.1",
-        "set-value": "^2.0.0",
-        "to-object-path": "^0.3.0",
-        "union-value": "^1.0.0",
-        "unset-value": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "bluebird": "^3.5.5",
+        "chownr": "^1.1.1",
+        "figgy-pudding": "^3.5.1",
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.1.15",
+        "infer-owner": "^1.0.3",
+        "lru-cache": "^5.1.1",
+        "mississippi": "^3.0.0",
+        "mkdirp": "^0.5.1",
+        "move-concurrently": "^1.0.1",
+        "promise-inflight": "^1.0.1",
+        "rimraf": "^2.6.3",
+        "ssri": "^6.0.1",
+        "unique-filename": "^1.1.1",
+        "y18n": "^4.0.0"
       }
     },
-    "node_modules/cache-content-type": {
+    "node_modules/cacache/node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+      "peer": true,
+      "dependencies": {
+        "yallist": "^3.0.2"
+      }
+    },
+    "node_modules/cacache/node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "peer": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/cacache/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "peer": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/cacache/node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "peer": true
+    },
+    "node_modules/cacache/node_modules/yallist": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+      "peer": true
+    },
+    "node_modules/cache-base": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dependencies": {
+        "collection-visit": "^1.0.0",
+        "component-emitter": "^1.2.1",
+        "get-value": "^2.0.6",
+        "has-value": "^1.0.0",
+        "isobject": "^3.0.1",
+        "set-value": "^2.0.0",
+        "to-object-path": "^0.3.0",
+        "union-value": "^1.0.0",
+        "unset-value": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/cache-content-type": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
       "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
@@ -4203,6 +4620,36 @@
       "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==",
       "dev": true
     },
+    "node_modules/caching-transform": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
+      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
+      "dev": true,
+      "dependencies": {
+        "hasha": "^5.0.0",
+        "make-dir": "^3.0.0",
+        "package-hash": "^4.0.0",
+        "write-file-atomic": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/caching-transform/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/call-bind": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -4273,6 +4720,7 @@
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
       "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
+      "dev": true,
       "dependencies": {
         "lodash": "^4.17.15"
       },
@@ -4297,6 +4745,19 @@
         "node": ">=4"
       }
     },
+    "node_modules/chai-dom": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.9.0.tgz",
+      "integrity": "sha512-UXSbhcGVBWv/5qVqbJY/giTDRyo3wKapUsWluEuVvxcJLFXkyf8l4D2PTd6trzrmca6WWnGdpaFkYdl1P0WjtA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.12.0"
+      },
+      "peerDependencies": {
+        "chai": ">= 3",
+        "mocha": ">= 2"
+      }
+    },
     "node_modules/chalk": {
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -4333,7 +4794,7 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
       "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -4354,7 +4815,7 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -4367,7 +4828,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=8"
       }
@@ -4376,7 +4837,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "fill-range": "^7.0.1"
       },
@@ -4388,7 +4849,7 @@
       "version": "7.0.1",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "to-regex-range": "^5.0.1"
       },
@@ -4400,7 +4861,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "binary-extensions": "^2.0.0"
       },
@@ -4412,7 +4873,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=0.12.0"
       }
@@ -4421,7 +4882,7 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "picomatch": "^2.2.1"
       },
@@ -4433,7 +4894,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "is-number": "^7.0.0"
       },
@@ -4444,8 +4905,7 @@
     "node_modules/chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
     },
     "node_modules/chrome-launcher": {
       "version": "0.11.2",
@@ -4510,6 +4970,15 @@
       "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
       "dev": true
     },
+    "node_modules/chrome-trace-event": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "peer": true,
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
     "node_modules/chrome-unmirror": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/chrome-unmirror/-/chrome-unmirror-0.1.0.tgz",
@@ -4524,7 +4993,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
       "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.1",
         "safe-buffer": "^5.0.1"
@@ -4534,7 +5002,6 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
       "dependencies": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -4549,7 +5016,6 @@
       "version": "0.2.5",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
       "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^0.1.0"
       },
@@ -4561,7 +5027,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -4573,7 +5038,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -4585,7 +5049,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -4599,7 +5062,6 @@
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
       "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -4608,6 +5070,7 @@
       "version": "3.2.7",
       "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-3.2.7.tgz",
       "integrity": "sha512-G/jpIIFY0aZ0ey3A81DRKRd+IG64yco/uwAITHtrZd9X2GHiQOFhT4yDymKTCxrsd/dainhFsF1E6ochGJBjRQ==",
+      "dev": true,
       "dependencies": {
         "fs-extra": "^9.1.0"
       },
@@ -4615,6 +5078,15 @@
         "jsdoc": "3"
       }
     },
+    "node_modules/clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/cliui": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -4639,7 +5111,6 @@
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
       "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true,
       "engines": {
         "iojs": ">= 1.0.0",
         "node": ">= 0.12.0"
@@ -4649,7 +5120,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
       "dependencies": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -4710,6 +5180,7 @@
       "version": "1.0.8",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
       "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
       "dependencies": {
         "delayed-stream": "~1.0.0"
       },
@@ -4739,11 +5210,15 @@
         "wrap-comment": "^1.0.1"
       }
     },
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+    },
     "node_modules/component-emitter": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
     },
     "node_modules/compress-commons": {
       "version": "0.2.9",
@@ -4787,14 +5262,12 @@
     "node_modules/concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
     },
     "node_modules/concat-stream": {
       "version": "1.6.2",
       "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
       "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
       "engines": [
         "node >= 0.8"
       ],
@@ -4838,8 +5311,7 @@
     "node_modules/console-browserify": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
+      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
     },
     "node_modules/consolify": {
       "version": "2.2.0",
@@ -4860,8 +5332,7 @@
     "node_modules/constants-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
     },
     "node_modules/content-disposition": {
       "version": "0.5.3",
@@ -4894,7 +5365,6 @@
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
       "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
       "dependencies": {
         "safe-buffer": "~5.1.1"
       }
@@ -4902,8 +5372,7 @@
     "node_modules/convert-source-map/node_modules/safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
     "node_modules/cookie": {
       "version": "0.4.0",
@@ -4939,11 +5408,48 @@
         "node": ">= 0.8"
       }
     },
+    "node_modules/copy-concurrently": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+      "peer": true,
+      "dependencies": {
+        "aproba": "^1.1.1",
+        "fs-write-stream-atomic": "^1.0.8",
+        "iferr": "^0.1.5",
+        "mkdirp": "^0.5.1",
+        "rimraf": "^2.5.4",
+        "run-queue": "^1.0.0"
+      }
+    },
+    "node_modules/copy-concurrently/node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "peer": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/copy-concurrently/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "peer": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
     "node_modules/copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
       "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -4953,7 +5459,6 @@
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
       "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
       "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
-      "dev": true,
       "hasInstallScript": true
     },
     "node_modules/core-js-compat": {
@@ -4982,8 +5487,7 @@
     "node_modules/core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
     "node_modules/cors": {
       "version": "2.8.5",
@@ -5122,7 +5626,6 @@
       "version": "4.0.4",
       "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
       "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.1.0",
         "elliptic": "^6.5.3"
@@ -5131,14 +5634,12 @@
     "node_modules/create-ecdh/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/create-hash": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
       "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
       "dependencies": {
         "cipher-base": "^1.0.1",
         "inherits": "^2.0.1",
@@ -5151,7 +5652,6 @@
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
       "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
       "dependencies": {
         "cipher-base": "^1.0.3",
         "create-hash": "^1.1.0",
@@ -5188,7 +5688,6 @@
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
       "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
       "dependencies": {
         "browserify-cipher": "^1.0.0",
         "browserify-sign": "^4.0.0",
@@ -5209,12 +5708,14 @@
     "node_modules/cssom": {
       "version": "0.4.4",
       "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
-      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+      "dev": true
     },
     "node_modules/cssstyle": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
       "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+      "dev": true,
       "dependencies": {
         "cssom": "~0.3.6"
       },
@@ -5225,7 +5726,8 @@
     "node_modules/cssstyle/node_modules/cssom": {
       "version": "0.3.8",
       "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+      "dev": true
     },
     "node_modules/currently-unhandled": {
       "version": "0.4.1",
@@ -5239,6 +5741,12 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/cyclist": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+      "peer": true
+    },
     "node_modules/d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -5259,6 +5767,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
       "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+      "dev": true,
       "dependencies": {
         "abab": "^2.0.3",
         "whatwg-mimetype": "^2.3.0",
@@ -5272,6 +5781,7 @@
       "version": "4.3.2",
       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
       "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+      "dev": true,
       "dependencies": {
         "ms": "2.1.2"
       },
@@ -5318,13 +5828,13 @@
     "node_modules/decimal.js": {
       "version": "10.3.1",
       "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
-      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
+      "dev": true
     },
     "node_modules/decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
       "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true,
       "engines": {
         "node": ">=0.10"
       }
@@ -5369,7 +5879,29 @@
     "node_modules/deep-is": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+      "dev": true
+    },
+    "node_modules/default-require-extensions": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
+      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
+      "dev": true,
+      "dependencies": {
+        "strip-bom": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/default-require-extensions/node_modules/strip-bom": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
     },
     "node_modules/define-properties": {
       "version": "1.1.3",
@@ -5387,7 +5919,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -5406,6 +5937,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
       "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true,
       "engines": {
         "node": ">=0.4.0"
       }
@@ -5444,7 +5976,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
       "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.1",
         "minimalistic-assert": "^1.0.0"
@@ -5456,6 +5987,17 @@
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
       "dev": true
     },
+    "node_modules/detect-indent": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "dependencies": {
+        "repeating": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/detective": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
@@ -5492,7 +6034,6 @@
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
       "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.1.0",
         "miller-rabin": "^4.0.0",
@@ -5502,8 +6043,7 @@
     "node_modules/diffie-hellman/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/docdash": {
       "version": "1.2.0",
@@ -5533,7 +6073,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
       "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true,
       "engines": {
         "node": ">=0.4",
         "npm": ">=1.2"
@@ -5543,6 +6082,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
       "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+      "dev": true,
       "dependencies": {
         "webidl-conversions": "^5.0.0"
       },
@@ -5554,6 +6094,7 @@
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
       "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+      "dev": true,
       "engines": {
         "node": ">=8"
       }
@@ -5615,7 +6156,6 @@
       "version": "6.5.4",
       "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
       "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.11.9",
         "brorand": "^1.1.0",
@@ -5629,8 +6169,7 @@
     "node_modules/elliptic/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/emoji-regex": {
       "version": "8.0.0",
@@ -5638,6 +6177,14 @@
       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
       "dev": true
     },
+    "node_modules/emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+      "engines": {
+        "node": ">= 4"
+      }
+    },
     "node_modules/encodeurl": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -5651,11 +6198,37 @@
       "version": "1.4.4",
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
       "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
       "dependencies": {
         "once": "^1.4.0"
       }
     },
+    "node_modules/enhanced-resolve": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+      "peer": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "memory-fs": "^0.5.0",
+        "tapable": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/enhanced-resolve/node_modules/memory-fs": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+      "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+      "peer": true,
+      "dependencies": {
+        "errno": "^0.1.3",
+        "readable-stream": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4.3.0 <5.0.0 || >=5.10"
+      }
+    },
     "node_modules/enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -5671,7 +6244,20 @@
     "node_modules/entities": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
-      "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
+      "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
+      "dev": true
+    },
+    "node_modules/errno": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "peer": true,
+      "dependencies": {
+        "prr": "~1.0.1"
+      },
+      "bin": {
+        "errno": "cli.js"
+      }
     },
     "node_modules/error-ex": {
       "version": "1.3.2",
@@ -5746,6 +6332,12 @@
         "next-tick": "~1.0.0"
       }
     },
+    "node_modules/es6-error": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+      "dev": true
+    },
     "node_modules/es6-iterator": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
@@ -5850,7 +6442,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true,
       "engines": {
         "node": ">=0.8.0"
       }
@@ -5859,6 +6450,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
       "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+      "dev": true,
       "dependencies": {
         "esprima": "^4.0.1",
         "estraverse": "^5.2.0",
@@ -5880,6 +6472,7 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
       "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+      "dev": true,
       "engines": {
         "node": ">=4.0"
       }
@@ -5888,6 +6481,7 @@
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
       "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "dev": true,
       "dependencies": {
         "prelude-ls": "~1.1.2",
         "type-check": "~0.3.2"
@@ -5900,6 +6494,7 @@
       "version": "0.8.3",
       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
       "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+      "dev": true,
       "dependencies": {
         "deep-is": "~0.1.3",
         "fast-levenshtein": "~2.0.6",
@@ -5916,6 +6511,7 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+      "dev": true,
       "engines": {
         "node": ">= 0.8.0"
       }
@@ -5924,6 +6520,7 @@
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
       "optional": true,
       "engines": {
         "node": ">=0.10.0"
@@ -5933,6 +6530,7 @@
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
       "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "dev": true,
       "dependencies": {
         "prelude-ls": "~1.1.2"
       },
@@ -6215,6 +6813,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true,
       "bin": {
         "esparse": "bin/esparse.js",
         "esvalidate": "bin/esvalidate.js"
@@ -6254,7 +6853,6 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
       "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
       "dependencies": {
         "estraverse": "^5.2.0"
       },
@@ -6266,7 +6864,6 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
       "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-      "dev": true,
       "engines": {
         "node": ">=4.0"
       }
@@ -6275,7 +6872,6 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
       "engines": {
         "node": ">=4.0"
       }
@@ -6353,7 +6949,6 @@
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
       "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
       "engines": {
         "node": ">=0.8.x"
       }
@@ -6362,7 +6957,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
       "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
       "dependencies": {
         "md5.js": "^1.3.4",
         "safe-buffer": "^5.1.1"
@@ -6387,7 +6981,6 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
       "dependencies": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -6405,7 +6998,6 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
       "dependencies": {
         "ms": "2.0.0"
       }
@@ -6414,7 +7006,6 @@
       "version": "0.2.5",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
       "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^0.1.0"
       },
@@ -6426,7 +7017,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -6438,7 +7028,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -6450,7 +7039,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -6464,7 +7052,6 @@
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
       "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -6472,8 +7059,7 @@
     "node_modules/expand-brackets/node_modules/ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     "node_modules/express": {
       "version": "4.17.1",
@@ -6676,7 +7262,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
       "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
       "dependencies": {
         "is-extendable": "^0.1.0"
       },
@@ -6688,7 +7273,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
       "dependencies": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -6707,7 +7291,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
       "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^1.0.0"
       },
@@ -6768,19 +7351,18 @@
     "node_modules/fast-deep-equal": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
     },
     "node_modules/fast-json-stable-stringify": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
     },
     "node_modules/fast-levenshtein": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+      "dev": true
     },
     "node_modules/fast-safe-stringify": {
       "version": "2.0.8",
@@ -6809,6 +7391,12 @@
         "pend": "~1.2.0"
       }
     },
+    "node_modules/figgy-pudding": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
+      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
+      "peer": true
+    },
     "node_modules/file-entry-cache": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -6825,14 +7413,12 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
       "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
       "optional": true
     },
     "node_modules/fill-range": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
       "dependencies": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -6876,6 +7462,102 @@
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
       "dev": true
     },
+    "node_modules/find-cache-dir": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
+      "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
+      "dev": true,
+      "dependencies": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.2",
+        "pkg-dir": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir/node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/find-up": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -6932,11 +7614,20 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/flush-write-stream": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+      "peer": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.3.6"
+      }
+    },
     "node_modules/for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
       "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -6947,10 +7638,24 @@
       "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
       "dev": true
     },
+    "node_modules/foreground-child": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
+      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
     "node_modules/form-data": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
       "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+      "dev": true,
       "dependencies": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
@@ -6982,7 +7687,6 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
       "dependencies": {
         "map-cache": "^0.2.2"
       },
@@ -7009,7 +7713,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -7024,6 +7727,26 @@
         "from2": "^2.0.3"
       }
     },
+    "node_modules/fromentries": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
+      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ]
+    },
     "node_modules/fs-constants": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@@ -7034,6 +7757,7 @@
       "version": "9.1.0",
       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
       "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
       "dependencies": {
         "at-least-node": "^1.0.0",
         "graceful-fs": "^4.2.0",
@@ -7048,6 +7772,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
       "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true,
       "engines": {
         "node": ">= 10.0.0"
       }
@@ -7058,11 +7783,22 @@
       "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
       "dev": true
     },
+    "node_modules/fs-write-stream-atomic": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+      "peer": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.2",
+        "iferr": "^0.1.5",
+        "imurmurhash": "^0.1.4",
+        "readable-stream": "1 || 2"
+      }
+    },
     "node_modules/fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
     },
     "node_modules/fsevents": {
       "version": "2.3.2",
@@ -7137,6 +7873,15 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
     "node_modules/get-random-values": {
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz",
@@ -7165,7 +7910,6 @@
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
       "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7174,7 +7918,6 @@
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
       "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-      "dev": true,
       "dependencies": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
@@ -7194,7 +7937,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "is-glob": "^4.0.1"
       },
@@ -7281,7 +8024,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
       "dependencies": {
         "ansi-regex": "^2.0.0"
       },
@@ -7293,7 +8035,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7332,7 +8073,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
       "dependencies": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -7346,7 +8086,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
       "dependencies": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -7359,7 +8098,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
       "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-      "dev": true,
       "dependencies": {
         "is-buffer": "^1.1.5"
       },
@@ -7371,7 +8109,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
       "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.4",
         "readable-stream": "^3.6.0",
@@ -7385,7 +8122,6 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
       "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.3",
         "string_decoder": "^1.1.1",
@@ -7399,12 +8135,36 @@
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
       "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.3",
         "minimalistic-assert": "^1.0.1"
       }
     },
+    "node_modules/hasha": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
+      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
+      "dev": true,
+      "dependencies": {
+        "is-stream": "^2.0.0",
+        "type-fest": "^0.8.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/hasha/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -7418,7 +8178,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
       "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
       "dependencies": {
         "hash.js": "^1.0.3",
         "minimalistic-assert": "^1.0.0",
@@ -7435,6 +8194,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
       "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+      "dev": true,
       "dependencies": {
         "whatwg-encoding": "^1.0.5"
       },
@@ -7551,6 +8311,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
       "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+      "dev": true,
       "dependencies": {
         "@tootallnate/once": "1",
         "agent-base": "6",
@@ -7563,13 +8324,13 @@
     "node_modules/https-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
     },
     "node_modules/https-proxy-agent": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
       "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+      "dev": true,
       "dependencies": {
         "agent-base": "6",
         "debug": "4"
@@ -7591,7 +8352,6 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
       "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true,
       "funding": [
         {
           "type": "github",
@@ -7607,6 +8367,12 @@
         }
       ]
     },
+    "node_modules/iferr": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+      "peer": true
+    },
     "node_modules/ignore": {
       "version": "4.0.6",
       "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
@@ -7652,7 +8418,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true,
       "engines": {
         "node": ">=0.8.19"
       }
@@ -7666,11 +8431,16 @@
         "node": ">=4"
       }
     },
+    "node_modules/infer-owner": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "peer": true
+    },
     "node_modules/inflight": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
       "dependencies": {
         "once": "^1.3.0",
         "wrappy": "1"
@@ -7679,8 +8449,7 @@
     "node_modules/inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
     },
     "node_modules/inline-source-map": {
       "version": "0.6.2",
@@ -7716,7 +8485,6 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
       "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
       "dependencies": {
         "loose-envify": "^1.0.0"
       }
@@ -7734,7 +8502,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
       "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
       "dependencies": {
         "kind-of": "^6.0.0"
       },
@@ -7746,7 +8513,6 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7785,7 +8551,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "binary-extensions": "^1.0.0"
       },
@@ -7811,8 +8577,7 @@
     "node_modules/is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "node_modules/is-callable": {
       "version": "1.2.3",
@@ -7842,7 +8607,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
       "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
       "dependencies": {
         "kind-of": "^6.0.0"
       },
@@ -7854,7 +8618,6 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7875,7 +8638,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
       "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^1.0.0",
         "is-data-descriptor": "^1.0.0",
@@ -7889,7 +8651,6 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7913,7 +8674,6 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
       "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -7922,9 +8682,20 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true,
+      "devOptional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
       "engines": {
         "node": ">=0.10.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/is-fullwidth-code-point": {
@@ -7952,7 +8723,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
       "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "is-extglob": "^2.1.1"
       },
@@ -7976,7 +8747,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -8018,7 +8788,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
       "dependencies": {
         "isobject": "^3.0.1"
       },
@@ -8029,7 +8798,8 @@
     "node_modules/is-potential-custom-element-name": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
-      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+      "dev": true
     },
     "node_modules/is-regex": {
       "version": "1.1.3",
@@ -8105,6 +8875,12 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
     "node_modules/is-unicode-supported": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
@@ -8121,7 +8897,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
       "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -8166,7 +8941,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -8197,6 +8971,50 @@
         "istanbul": "lib/cli.js"
       }
     },
+    "node_modules/istanbul-instrumenter-loader": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+      "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+      "dependencies": {
+        "convert-source-map": "^1.5.0",
+        "istanbul-lib-instrument": "^1.7.3",
+        "loader-utils": "^1.1.0",
+        "schema-utils": "^0.3.0"
+      },
+      "engines": {
+        "node": ">= 4.8 < 5.0.0 || >= 5.10"
+      },
+      "peerDependencies": {
+        "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0"
+      }
+    },
+    "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-coverage": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
+      "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ=="
+    },
+    "node_modules/istanbul-instrumenter-loader/node_modules/istanbul-lib-instrument": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
+      "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
+      "dependencies": {
+        "babel-generator": "^6.18.0",
+        "babel-template": "^6.16.0",
+        "babel-traverse": "^6.18.0",
+        "babel-types": "^6.18.0",
+        "babylon": "^6.18.0",
+        "istanbul-lib-coverage": "^1.2.1",
+        "semver": "^5.3.0"
+      }
+    },
+    "node_modules/istanbul-instrumenter-loader/node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
     "node_modules/istanbul-lib-coverage": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
@@ -8206,6 +9024,18 @@
         "node": ">=8"
       }
     },
+    "node_modules/istanbul-lib-hook": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
+      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
+      "dev": true,
+      "dependencies": {
+        "append-transform": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/istanbul-lib-instrument": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
@@ -8221,6 +9051,39 @@
         "node": ">=8"
       }
     },
+    "node_modules/istanbul-lib-processinfo": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
+      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
+      "dev": true,
+      "dependencies": {
+        "archy": "^1.0.0",
+        "cross-spawn": "^7.0.0",
+        "istanbul-lib-coverage": "^3.0.0-alpha.1",
+        "make-dir": "^3.0.0",
+        "p-map": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "uuid": "^3.3.3"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/istanbul-lib-report": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
@@ -8271,6 +9134,29 @@
         "node": ">=8"
       }
     },
+    "node_modules/istanbul-lib-source-maps": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/istanbul-middleware": {
       "name": "@stagas/istanbul-middleware",
       "version": "0.2.2",
@@ -8485,8 +9371,7 @@
     "node_modules/js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
     },
     "node_modules/js-yaml": {
       "version": "3.14.1",
@@ -8505,6 +9390,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz",
       "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==",
+      "dev": true,
       "dependencies": {
         "xmlcreate": "^2.0.3"
       }
@@ -8513,6 +9399,7 @@
       "version": "3.6.7",
       "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz",
       "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==",
+      "dev": true,
       "dependencies": {
         "@babel/parser": "^7.9.4",
         "bluebird": "^3.7.2",
@@ -8540,6 +9427,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
       "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+      "dev": true,
       "engines": {
         "node": ">=8"
       }
@@ -8548,6 +9436,7 @@
       "version": "16.6.0",
       "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz",
       "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==",
+      "dev": true,
       "dependencies": {
         "abab": "^2.0.5",
         "acorn": "^8.2.4",
@@ -8593,6 +9482,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
       "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=",
+      "dev": true,
       "peerDependencies": {
         "jsdom": ">=10.0.0"
       }
@@ -8601,6 +9491,7 @@
       "version": "8.4.1",
       "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
       "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
+      "dev": true,
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -8623,14 +9514,12 @@
     "node_modules/json-parse-better-errors": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
     },
     "node_modules/json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "node_modules/json-stable-stringify": {
       "version": "0.0.1",
@@ -8666,6 +9555,7 @@
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
       "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
       "dependencies": {
         "universalify": "^2.0.0"
       },
@@ -8677,6 +9567,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
       "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+      "dev": true,
       "engines": {
         "node": ">= 10.0.0"
       }
@@ -8737,7 +9628,6 @@
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
       "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
       "dependencies": {
         "is-buffer": "^1.1.5"
       },
@@ -8749,6 +9639,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
       "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
+      "dev": true,
       "dependencies": {
         "graceful-fs": "^4.1.9"
       }
@@ -8963,6 +9854,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
       "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
+      "dev": true,
       "dependencies": {
         "uc.micro": "^1.0.1"
       }
@@ -9097,6 +9989,39 @@
         "node": ">=4"
       }
     },
+    "node_modules/loader-runner": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+      "peer": true,
+      "engines": {
+        "node": ">=4.3.0 <5.0.0 || >=5.10"
+      }
+    },
+    "node_modules/loader-utils": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+      "dependencies": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/loader-utils/node_modules/json5": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      }
+    },
     "node_modules/locate-path": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -9129,6 +10054,12 @@
       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
       "dev": true
     },
+    "node_modules/lodash.flattendeep": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+      "dev": true
+    },
     "node_modules/lodash.get": {
       "version": "4.4.2",
       "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -9256,7 +10187,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
       "dependencies": {
         "js-tokens": "^3.0.0 || ^4.0.0"
       },
@@ -9308,7 +10238,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
       "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
       "dependencies": {
         "pify": "^4.0.1",
         "semver": "^5.6.0"
@@ -9321,7 +10250,6 @@
       "version": "5.7.1",
       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
       "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "dev": true,
       "bin": {
         "semver": "bin/semver"
       }
@@ -9330,7 +10258,6 @@
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
       "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -9354,7 +10281,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
       "dependencies": {
         "object-visit": "^1.0.0"
       },
@@ -9366,6 +10292,7 @@
       "version": "10.0.0",
       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz",
       "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==",
+      "dev": true,
       "dependencies": {
         "argparse": "^1.0.7",
         "entities": "~2.0.0",
@@ -9381,6 +10308,7 @@
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz",
       "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==",
+      "dev": true,
       "peerDependencies": {
         "markdown-it": "*"
       }
@@ -9389,6 +10317,7 @@
       "version": "2.1.3",
       "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz",
       "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==",
+      "dev": true,
       "bin": {
         "marked": "bin/marked"
       },
@@ -9406,7 +10335,6 @@
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
       "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
       "dependencies": {
         "hash-base": "^3.0.0",
         "inherits": "^2.0.1",
@@ -9416,7 +10344,8 @@
     "node_modules/mdurl": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
-      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
+      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+      "dev": true
     },
     "node_modules/media-typer": {
       "version": "0.3.0",
@@ -9427,6 +10356,16 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/memory-fs": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+      "peer": true,
+      "dependencies": {
+        "errno": "^0.1.3",
+        "readable-stream": "^2.0.1"
+      }
+    },
     "node_modules/meow": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
@@ -9484,7 +10423,6 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
       "dependencies": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -9508,7 +10446,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "dependencies": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -9521,7 +10458,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -9533,7 +10469,6 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -9542,7 +10477,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
       "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.0.0",
         "brorand": "^1.0.1"
@@ -9554,8 +10488,7 @@
     "node_modules/miller-rabin/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/mime": {
       "version": "2.5.2",
@@ -9573,6 +10506,7 @@
       "version": "1.49.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
       "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+      "dev": true,
       "engines": {
         "node": ">= 0.6"
       }
@@ -9581,6 +10515,7 @@
       "version": "2.1.32",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
       "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+      "dev": true,
       "dependencies": {
         "mime-db": "1.49.0"
       },
@@ -9663,20 +10598,17 @@
     "node_modules/minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
     },
     "node_modules/minimalistic-crypto-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
     },
     "node_modules/minimatch": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
       "dependencies": {
         "brace-expansion": "^1.1.7"
       },
@@ -9687,8 +10619,7 @@
     "node_modules/minimist": {
       "version": "1.2.5",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
+      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
     },
     "node_modules/minimist-options": {
       "version": "3.0.2",
@@ -9703,11 +10634,43 @@
         "node": ">= 4"
       }
     },
+    "node_modules/mississippi": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+      "peer": true,
+      "dependencies": {
+        "concat-stream": "^1.5.0",
+        "duplexify": "^3.4.2",
+        "end-of-stream": "^1.1.0",
+        "flush-write-stream": "^1.0.0",
+        "from2": "^2.1.0",
+        "parallel-transform": "^1.1.0",
+        "pump": "^3.0.0",
+        "pumpify": "^1.3.3",
+        "stream-each": "^1.1.0",
+        "through2": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/mississippi/node_modules/duplexify": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+      "peer": true,
+      "dependencies": {
+        "end-of-stream": "^1.0.0",
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.0.0",
+        "stream-shift": "^1.0.0"
+      }
+    },
     "node_modules/mixin-deep": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
       "dependencies": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -9720,7 +10683,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -9732,6 +10694,7 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
       "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true,
       "bin": {
         "mkdirp": "bin/cmd.js"
       },
@@ -11038,10 +12001,49 @@
       "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
       "dev": true
     },
+    "node_modules/move-concurrently": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+      "peer": true,
+      "dependencies": {
+        "aproba": "^1.1.1",
+        "copy-concurrently": "^1.0.0",
+        "fs-write-stream-atomic": "^1.0.8",
+        "mkdirp": "^0.5.1",
+        "rimraf": "^2.5.4",
+        "run-queue": "^1.0.3"
+      }
+    },
+    "node_modules/move-concurrently/node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "peer": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/move-concurrently/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "peer": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
     "node_modules/ms": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
     },
     "node_modules/multi-stage-sourcemap": {
       "version": "0.2.1",
@@ -11080,7 +12082,6 @@
       "version": "2.14.2",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
       "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
-      "dev": true,
       "optional": true
     },
     "node_modules/nanoassert": {
@@ -11187,7 +12188,6 @@
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
       "dependencies": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -11209,7 +12209,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "dependencies": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -11222,7 +12221,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -11234,7 +12232,6 @@
       "version": "6.0.3",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
       "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11276,8 +12273,7 @@
     "node_modules/neo-async": {
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
     },
     "node_modules/next-tick": {
       "version": "1.0.0",
@@ -11328,6 +12324,128 @@
       "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",
       "dev": true
     },
+    "node_modules/node-libs-browser": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+      "peer": true,
+      "dependencies": {
+        "assert": "^1.1.1",
+        "browserify-zlib": "^0.2.0",
+        "buffer": "^4.3.0",
+        "console-browserify": "^1.1.0",
+        "constants-browserify": "^1.0.0",
+        "crypto-browserify": "^3.11.0",
+        "domain-browser": "^1.1.1",
+        "events": "^3.0.0",
+        "https-browserify": "^1.0.0",
+        "os-browserify": "^0.3.0",
+        "path-browserify": "0.0.1",
+        "process": "^0.11.10",
+        "punycode": "^1.2.4",
+        "querystring-es3": "^0.2.0",
+        "readable-stream": "^2.3.3",
+        "stream-browserify": "^2.0.1",
+        "stream-http": "^2.7.2",
+        "string_decoder": "^1.0.0",
+        "timers-browserify": "^2.0.4",
+        "tty-browserify": "0.0.0",
+        "url": "^0.11.0",
+        "util": "^0.11.0",
+        "vm-browserify": "^1.0.1"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/buffer": {
+      "version": "4.9.2",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+      "peer": true,
+      "dependencies": {
+        "base64-js": "^1.0.2",
+        "ieee754": "^1.1.4",
+        "isarray": "^1.0.0"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "peer": true
+    },
+    "node_modules/node-libs-browser/node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "peer": true
+    },
+    "node_modules/node-libs-browser/node_modules/path-browserify": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+      "peer": true
+    },
+    "node_modules/node-libs-browser/node_modules/stream-browserify": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+      "peer": true,
+      "dependencies": {
+        "inherits": "~2.0.1",
+        "readable-stream": "^2.0.2"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/stream-http": {
+      "version": "2.8.3",
+      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+      "peer": true,
+      "dependencies": {
+        "builtin-status-codes": "^3.0.0",
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.3.6",
+        "to-arraybuffer": "^1.0.0",
+        "xtend": "^4.0.0"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/timers-browserify": {
+      "version": "2.0.12",
+      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+      "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+      "peer": true,
+      "dependencies": {
+        "setimmediate": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/tty-browserify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+      "peer": true
+    },
+    "node_modules/node-libs-browser/node_modules/util": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+      "peer": true,
+      "dependencies": {
+        "inherits": "2.0.3"
+      }
+    },
+    "node_modules/node-preload": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
+      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
+      "dev": true,
+      "dependencies": {
+        "process-on-spawn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/node-releases": {
       "version": "1.1.73",
       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
@@ -11371,7 +12489,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11379,72 +12497,292 @@
     "node_modules/nwsapi": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
-      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
+      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+      "dev": true
     },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+    "node_modules/nyc": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
+      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
       "dev": true,
+      "dependencies": {
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "caching-transform": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "decamelize": "^1.2.0",
+        "find-cache-dir": "^3.2.0",
+        "find-up": "^4.1.0",
+        "foreground-child": "^2.0.0",
+        "get-package-type": "^0.1.0",
+        "glob": "^7.1.6",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-hook": "^3.0.0",
+        "istanbul-lib-instrument": "^4.0.0",
+        "istanbul-lib-processinfo": "^2.0.2",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^4.0.0",
+        "istanbul-reports": "^3.0.2",
+        "make-dir": "^3.0.0",
+        "node-preload": "^0.2.1",
+        "p-map": "^3.0.0",
+        "process-on-spawn": "^1.0.0",
+        "resolve-from": "^5.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "spawn-wrap": "^2.0.0",
+        "test-exclude": "^6.0.0",
+        "yargs": "^15.0.2"
+      },
+      "bin": {
+        "nyc": "bin/nyc.js"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8.9"
       }
     },
-    "node_modules/object-copy": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
-      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+    "node_modules/nyc/node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
       "dev": true,
       "dependencies": {
-        "copy-descriptor": "^0.1.0",
-        "define-property": "^0.2.5",
-        "kind-of": "^3.0.3"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/object-copy/node_modules/define-property": {
-      "version": "0.2.5",
-      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
-      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+    "node_modules/nyc/node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
       "dev": true,
-      "dependencies": {
-        "is-descriptor": "^0.1.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/object-copy/node_modules/is-accessor-descriptor": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
-      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+    "node_modules/nyc/node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
       "dev": true,
       "dependencies": {
-        "kind-of": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
       }
     },
-    "node_modules/object-copy/node_modules/is-data-descriptor": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
-      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+    "node_modules/nyc/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "dev": true,
       "dependencies": {
-        "kind-of": "^3.0.2"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/nyc/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/nyc/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/nyc/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/nyc/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/y18n": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+      "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+      "dev": true
+    },
+    "node_modules/nyc/node_modules/yargs": {
+      "version": "15.4.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+      "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nyc/node_modules/yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dependencies": {
+        "copy-descriptor": "^0.1.0",
+        "define-property": "^0.2.5",
+        "kind-of": "^3.0.3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/is-data-descriptor": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
     "node_modules/object-copy/node_modules/is-descriptor": {
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -11458,7 +12796,6 @@
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
       "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11485,7 +12822,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
       "dependencies": {
         "isobject": "^3.0.0"
       },
@@ -11515,7 +12851,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
       "dependencies": {
         "isobject": "^3.0.1"
       },
@@ -11548,7 +12883,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
       "dependencies": {
         "wrappy": "1"
       }
@@ -11601,8 +12935,7 @@
     "node_modules/os-browserify": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
+      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
     },
     "node_modules/outpipe": {
       "version": "1.1.1",
@@ -11643,20 +12976,56 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/p-map": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+      "dev": true,
+      "dependencies": {
+        "aggregate-error": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/p-try": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
       "engines": {
         "node": ">=6"
       }
     },
+    "node_modules/package-hash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
+      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.15",
+        "hasha": "^5.0.0",
+        "lodash.flattendeep": "^4.4.0",
+        "release-zalgo": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/pako": {
       "version": "1.0.11",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+    },
+    "node_modules/parallel-transform": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
+      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+      "peer": true,
+      "dependencies": {
+        "cyclist": "^1.0.1",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.1.5"
+      }
     },
     "node_modules/parent-module": {
       "version": "1.0.1",
@@ -11683,7 +13052,6 @@
       "version": "5.1.6",
       "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
       "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
       "dependencies": {
         "asn1.js": "^5.2.0",
         "browserify-aes": "^1.0.0",
@@ -11708,7 +13076,8 @@
     "node_modules/parse5": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
     },
     "node_modules/parseurl": {
       "version": "1.3.3",
@@ -11723,7 +13092,6 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
       "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11738,7 +13106,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
       "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
+      "devOptional": true
     },
     "node_modules/path-exists": {
       "version": "4.0.0",
@@ -11753,7 +13121,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
       "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11831,7 +13198,6 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
       "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
       "dependencies": {
         "create-hash": "^1.1.2",
         "create-hmac": "^1.1.4",
@@ -11853,7 +13219,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
       "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=8.6"
       },
@@ -11865,7 +13231,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
       "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true,
       "engines": {
         "node": ">=6"
       }
@@ -11874,7 +13239,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
       "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
       "dependencies": {
         "find-up": "^3.0.0"
       },
@@ -11886,7 +13250,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
       "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-      "dev": true,
       "dependencies": {
         "locate-path": "^3.0.0"
       },
@@ -11898,7 +13261,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
       "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-      "dev": true,
       "dependencies": {
         "p-locate": "^3.0.0",
         "path-exists": "^3.0.0"
@@ -11911,7 +13273,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
       "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
       "dependencies": {
         "p-try": "^2.0.0"
       },
@@ -11926,7 +13287,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
       "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-      "dev": true,
       "dependencies": {
         "p-limit": "^2.0.0"
       },
@@ -11938,7 +13298,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
       "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-      "dev": true,
       "engines": {
         "node": ">=4"
       }
@@ -11947,7 +13306,6 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
       "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -11983,7 +13341,6 @@
       "version": "0.11.10",
       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
       "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true,
       "engines": {
         "node": ">= 0.6.0"
       }
@@ -11991,8 +13348,19 @@
     "node_modules/process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+    },
+    "node_modules/process-on-spawn": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
+      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+      "dev": true,
+      "dependencies": {
+        "fromentries": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
     },
     "node_modules/progress": {
       "version": "2.0.3",
@@ -12003,6 +13371,12 @@
         "node": ">=0.4.0"
       }
     },
+    "node_modules/promise-inflight": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+      "peer": true
+    },
     "node_modules/proxy-addr": {
       "version": "2.0.7",
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -12031,16 +13405,22 @@
         "node": ">=0.8.0"
       }
     },
+    "node_modules/prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+      "peer": true
+    },
     "node_modules/psl": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+      "dev": true
     },
     "node_modules/public-encrypt": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
       "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
       "dependencies": {
         "bn.js": "^4.1.0",
         "browserify-rsa": "^4.0.0",
@@ -12053,14 +13433,45 @@
     "node_modules/public-encrypt/node_modules/bn.js": {
       "version": "4.12.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-      "dev": true
+      "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
     },
     "node_modules/pump": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "node_modules/pumpify": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+      "peer": true,
+      "dependencies": {
+        "duplexify": "^3.6.0",
+        "inherits": "^2.0.3",
+        "pump": "^2.0.0"
+      }
+    },
+    "node_modules/pumpify/node_modules/duplexify": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+      "peer": true,
+      "dependencies": {
+        "end-of-stream": "^1.0.0",
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.0.0",
+        "stream-shift": "^1.0.0"
+      }
+    },
+    "node_modules/pumpify/node_modules/pump": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+      "peer": true,
       "dependencies": {
         "end-of-stream": "^1.1.0",
         "once": "^1.3.1"
@@ -12069,8 +13480,7 @@
     "node_modules/punycode": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
     },
     "node_modules/puppeteer": {
       "version": "10.1.0",
@@ -12236,7 +13646,6 @@
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
       "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
       "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
-      "dev": true,
       "engines": {
         "node": ">=0.4.x"
       }
@@ -12245,7 +13654,6 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
       "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true,
       "engines": {
         "node": ">=0.4.x"
       }
@@ -12263,7 +13671,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
       "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
       "dependencies": {
         "safe-buffer": "^5.1.0"
       }
@@ -12272,7 +13679,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
       "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
       "dependencies": {
         "randombytes": "^2.0.5",
         "safe-buffer": "^5.1.0"
@@ -12413,7 +13819,6 @@
       "version": "2.3.7",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
       "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
       "dependencies": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -12427,20 +13832,17 @@
     "node_modules/readable-stream/node_modules/isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "node_modules/readable-stream/node_modules/safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
     "node_modules/readable-stream/node_modules/string_decoder": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
       "dependencies": {
         "safe-buffer": "~5.1.0"
       }
@@ -12449,7 +13851,7 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
+      "devOptional": true,
       "dependencies": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -12493,8 +13895,7 @@
     "node_modules/regenerator-runtime": {
       "version": "0.11.1",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
     },
     "node_modules/regenerator-transform": {
       "version": "0.14.5",
@@ -12509,7 +13910,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
       "dependencies": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -12522,7 +13922,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "dependencies": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -12535,7 +13934,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -12599,6 +13997,18 @@
         "jsesc": "bin/jsesc"
       }
     },
+    "node_modules/release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+      "dev": true,
+      "dependencies": {
+        "es6-error": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
     "node_modules/remove-array-items": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz",
@@ -12609,13 +14019,12 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
       "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
+      "devOptional": true
     },
     "node_modules/repeat-element": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
       "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -12624,11 +14033,21 @@
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
       "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true,
       "engines": {
         "node": ">=0.10"
       }
     },
+    "node_modules/repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "dependencies": {
+        "is-finite": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -12657,6 +14076,7 @@
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz",
       "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==",
+      "dev": true,
       "dependencies": {
         "lodash": "^4.17.14"
       }
@@ -12757,14 +14177,12 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
-      "dev": true
+      "deprecated": "https://github.com/lydell/resolve-url#deprecated"
     },
     "node_modules/ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
       "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true,
       "engines": {
         "node": ">=0.12"
       }
@@ -12788,17 +14206,24 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
       "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
       "dependencies": {
         "hash-base": "^3.0.0",
         "inherits": "^2.0.1"
       }
     },
+    "node_modules/run-queue": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+      "peer": true,
+      "dependencies": {
+        "aproba": "^1.1.1"
+      }
+    },
     "node_modules/safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
       "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true,
       "funding": [
         {
           "type": "github",
@@ -12818,7 +14243,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
       "dependencies": {
         "ret": "~0.1.10"
       }
@@ -12878,6 +14302,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
       "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+      "dev": true,
       "dependencies": {
         "xmlchars": "^2.2.0"
       },
@@ -12885,6 +14310,38 @@
         "node": ">=10"
       }
     },
+    "node_modules/schema-utils": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+      "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+      "dependencies": {
+        "ajv": "^5.0.0"
+      },
+      "engines": {
+        "node": ">= 4.3 < 5.0.0 || >= 5.10"
+      }
+    },
+    "node_modules/schema-utils/node_modules/ajv": {
+      "version": "5.5.2",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+      "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+      "dependencies": {
+        "co": "^4.6.0",
+        "fast-deep-equal": "^1.0.0",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.3.0"
+      }
+    },
+    "node_modules/schema-utils/node_modules/fast-deep-equal": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
+    },
+    "node_modules/schema-utils/node_modules/json-schema-traverse": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+    },
     "node_modules/scope-analyzer": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz",
@@ -13100,7 +14557,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
       "dependencies": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -13111,6 +14567,12 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+      "peer": true
+    },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -13121,7 +14583,6 @@
       "version": "2.4.11",
       "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
       "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
       "dependencies": {
         "inherits": "^2.0.1",
         "safe-buffer": "^5.0.1"
@@ -13318,7 +14779,6 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
       "dependencies": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -13337,7 +14797,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
       "dependencies": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -13351,7 +14810,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
       "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^1.0.0"
       },
@@ -13363,7 +14821,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.2.0"
       },
@@ -13375,7 +14832,6 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
       "dependencies": {
         "ms": "2.0.0"
       }
@@ -13384,7 +14840,6 @@
       "version": "0.2.5",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
       "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^0.1.0"
       },
@@ -13396,7 +14851,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -13408,7 +14862,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -13420,7 +14873,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -13434,7 +14886,6 @@
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
       "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -13442,14 +14893,18 @@
     "node_modules/snapdragon/node_modules/ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+    },
+    "node_modules/source-list-map": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+      "peer": true
     },
     "node_modules/source-map": {
       "version": "0.5.7",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
       "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -13458,7 +14913,6 @@
       "version": "0.5.3",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
       "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
       "dependencies": {
         "atob": "^2.1.2",
         "decode-uri-component": "^0.2.0",
@@ -13471,7 +14925,6 @@
       "version": "0.5.19",
       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
       "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
       "dependencies": {
         "buffer-from": "^1.0.0",
         "source-map": "^0.6.0"
@@ -13481,7 +14934,6 @@
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -13489,8 +14941,7 @@
     "node_modules/source-map-url": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
     },
     "node_modules/source-mapper": {
       "version": "2.1.0",
@@ -13512,6 +14963,38 @@
       "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
       "dev": true
     },
+    "node_modules/spawn-wrap": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
+      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^2.0.0",
+        "is-windows": "^1.0.2",
+        "make-dir": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/make-dir": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+      "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/spdx-correct": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@@ -13560,7 +15043,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
       "dependencies": {
         "extend-shallow": "^3.0.0"
       },
@@ -13572,7 +15054,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "dependencies": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -13585,7 +15066,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -13639,13 +15119,22 @@
     "node_modules/sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "node_modules/ssri": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+      "peer": true,
+      "dependencies": {
+        "figgy-pudding": "^3.5.1"
+      }
     },
     "node_modules/static-extend": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
       "dependencies": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -13658,7 +15147,6 @@
       "version": "0.2.5",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
       "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-      "dev": true,
       "dependencies": {
         "is-descriptor": "^0.1.0"
       },
@@ -13670,7 +15158,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -13682,7 +15169,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -13694,7 +15180,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "dependencies": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -13708,7 +15193,6 @@
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
       "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -13765,6 +15249,16 @@
         "readable-stream": "^2.0.2"
       }
     },
+    "node_modules/stream-each": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+      "peer": true,
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "stream-shift": "^1.0.0"
+      }
+    },
     "node_modules/stream-http": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
@@ -13794,8 +15288,7 @@
     "node_modules/stream-shift": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
+      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
     },
     "node_modules/stream-splicer": {
       "version": "2.0.1",
@@ -13811,7 +15304,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
       "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
       "dependencies": {
         "safe-buffer": "~5.2.0"
       }
@@ -13890,6 +15382,7 @@
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
       "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true,
       "engines": {
         "node": ">=8"
       },
@@ -14000,7 +15493,8 @@
     "node_modules/symbol-tree": {
       "version": "3.2.4",
       "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+      "dev": true
     },
     "node_modules/syntax-error": {
       "version": "1.4.0",
@@ -14053,7 +15547,17 @@
     "node_modules/taffydb": {
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
-      "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg="
+      "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
+      "dev": true
+    },
+    "node_modules/tapable": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+      "peer": true,
+      "engines": {
+        "node": ">=6"
+      }
     },
     "node_modules/tar-fs": {
       "version": "2.0.0",
@@ -14187,7 +15691,6 @@
       "version": "4.8.0",
       "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
       "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
       "dependencies": {
         "commander": "^2.20.0",
         "source-map": "~0.6.1",
@@ -14200,21 +15703,111 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/terser-webpack-plugin": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+      "peer": true,
+      "dependencies": {
+        "cacache": "^12.0.2",
+        "find-cache-dir": "^2.1.0",
+        "is-wsl": "^1.1.0",
+        "schema-utils": "^1.0.0",
+        "serialize-javascript": "^4.0.0",
+        "source-map": "^0.6.1",
+        "terser": "^4.1.2",
+        "webpack-sources": "^1.4.0",
+        "worker-farm": "^1.7.0"
+      },
+      "engines": {
+        "node": ">= 6.9.0"
+      },
+      "peerDependencies": {
+        "webpack": "^4.0.0"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/find-cache-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+      "peer": true,
+      "dependencies": {
+        "commondir": "^1.0.1",
+        "make-dir": "^2.0.0",
+        "pkg-dir": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/is-wsl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+      "peer": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+      "peer": true,
+      "dependencies": {
+        "ajv": "^6.1.0",
+        "ajv-errors": "^1.0.0",
+        "ajv-keywords": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+      "peer": true,
+      "dependencies": {
+        "randombytes": "^2.1.0"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/terser/node_modules/commander": {
       "version": "2.20.3",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
     },
     "node_modules/terser/node_modules/source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
     },
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
     "node_modules/text-table": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -14231,7 +15824,6 @@
       "version": "2.0.5",
       "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
       "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
       "dependencies": {
         "readable-stream": "~2.3.6",
         "xtend": "~4.0.1"
@@ -14278,6 +15870,12 @@
         "readable-stream": "2 || 3"
       }
     },
+    "node_modules/to-arraybuffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+      "peer": true
+    },
     "node_modules/to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -14291,7 +15889,6 @@
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
       "dependencies": {
         "kind-of": "^3.0.2"
       },
@@ -14303,7 +15900,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
       "dependencies": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -14318,7 +15914,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
       "dependencies": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -14331,7 +15926,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "dependencies": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -14344,7 +15938,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
       "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-      "dev": true,
       "dependencies": {
         "is-plain-object": "^2.0.4"
       },
@@ -14365,6 +15958,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
       "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+      "dev": true,
       "dependencies": {
         "psl": "^1.1.33",
         "punycode": "^2.1.1",
@@ -14378,6 +15972,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
       "engines": {
         "node": ">=6"
       }
@@ -14386,6 +15981,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
       "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+      "dev": true,
       "dependencies": {
         "punycode": "^2.1.1"
       },
@@ -14397,6 +15993,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
       "engines": {
         "node": ">=6"
       }
@@ -14448,6 +16045,14 @@
         "node": ">=4"
       }
     },
+    "node_modules/trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/tslib": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
@@ -14524,13 +16129,22 @@
     "node_modules/typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+    },
+    "node_modules/typedarray-to-buffer": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+      "dev": true,
+      "dependencies": {
+        "is-typedarray": "^1.0.0"
+      }
     },
     "node_modules/uc.micro": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
-      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+      "dev": true
     },
     "node_modules/uglify-js": {
       "version": "3.14.1",
@@ -14784,7 +16398,8 @@
     "node_modules/underscore": {
       "version": "1.13.1",
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
-      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g=="
+      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==",
+      "dev": true
     },
     "node_modules/unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
@@ -14830,7 +16445,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
       "dependencies": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -14841,10 +16455,29 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/unique-filename": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+      "peer": true,
+      "dependencies": {
+        "unique-slug": "^2.0.0"
+      }
+    },
+    "node_modules/unique-slug": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+      "peer": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4"
+      }
+    },
     "node_modules/universalify": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
       "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true,
       "engines": {
         "node": ">= 4.0.0"
       }
@@ -14868,7 +16501,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
       "dependencies": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -14881,7 +16513,6 @@
       "version": "0.3.1",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
       "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-      "dev": true,
       "dependencies": {
         "get-value": "^2.0.3",
         "has-values": "^0.1.4",
@@ -14895,7 +16526,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
       "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-      "dev": true,
       "dependencies": {
         "isarray": "1.0.0"
       },
@@ -14907,7 +16537,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
       "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -14915,14 +16544,13 @@
     "node_modules/unset-value/node_modules/isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "node_modules/upath": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true,
+      "devOptional": true,
       "engines": {
         "node": ">=4",
         "yarn": "*"
@@ -14932,7 +16560,6 @@
       "version": "4.4.1",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
       "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dev": true,
       "dependencies": {
         "punycode": "^2.1.0"
       }
@@ -14941,7 +16568,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true,
       "engines": {
         "node": ">=6"
       }
@@ -14950,14 +16576,12 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
       "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
-      "dev": true
+      "deprecated": "Please see https://github.com/lydell/urix#deprecated"
     },
     "node_modules/url": {
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
       "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
       "dependencies": {
         "punycode": "1.3.2",
         "querystring": "0.2.0"
@@ -14972,14 +16596,12 @@
     "node_modules/url/node_modules/punycode": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-      "dev": true
+      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
     },
     "node_modules/use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
       "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -15001,8 +16623,7 @@
     "node_modules/util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "node_modules/utils-merge": {
       "version": "1.0.1",
@@ -15051,13 +16672,13 @@
     "node_modules/vm-browserify": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
+      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
     },
     "node_modules/w3c-hr-time": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
       "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+      "dev": true,
       "dependencies": {
         "browser-process-hrtime": "^1.0.0"
       }
@@ -15065,12 +16686,14 @@
     "node_modules/w3c-hr-time/node_modules/browser-process-hrtime": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
-      "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+      "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+      "dev": true
     },
     "node_modules/w3c-xmlserializer": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
       "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+      "dev": true,
       "dependencies": {
         "xml-name-validator": "^3.0.0"
       },
@@ -15135,25 +16758,236 @@
         "readable-stream": "3"
       }
     },
-    "node_modules/webcrypto-core": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz",
-      "integrity": "sha512-p76Z/YLuE4CHCRdc49FB/ETaM4bzM3roqWNJeGs+QNY1fOTzKTOVnhmudW1fuO+5EZg6/4LG9NJ6gaAyxTk9XQ==",
-      "dev": true,
+    "node_modules/watchpack": {
+      "version": "1.7.5",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
+      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
+      "peer": true,
       "dependencies": {
-        "@peculiar/asn1-schema": "^2.0.27",
-        "@peculiar/json-schema": "^1.1.12",
-        "asn1js": "^2.0.26",
-        "pvtsutils": "^1.1.2",
-        "tslib": "^2.1.0"
-      }
-    },
-    "node_modules/webidl-conversions": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
-      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
-      "engines": {
-        "node": ">=10.4"
+        "graceful-fs": "^4.1.2",
+        "neo-async": "^2.5.0"
+      },
+      "optionalDependencies": {
+        "chokidar": "^3.4.1",
+        "watchpack-chokidar2": "^2.0.1"
+      }
+    },
+    "node_modules/watchpack-chokidar2": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
+      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "chokidar": "^2.1.8"
+      }
+    },
+    "node_modules/watchpack-chokidar2/node_modules/chokidar": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+      "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "anymatch": "^2.0.0",
+        "async-each": "^1.0.1",
+        "braces": "^2.3.2",
+        "glob-parent": "^3.1.0",
+        "inherits": "^2.0.3",
+        "is-binary-path": "^1.0.0",
+        "is-glob": "^4.0.0",
+        "normalize-path": "^3.0.0",
+        "path-is-absolute": "^1.0.0",
+        "readdirp": "^2.2.1",
+        "upath": "^1.1.1"
+      },
+      "optionalDependencies": {
+        "fsevents": "^1.2.7"
+      }
+    },
+    "node_modules/watchpack-chokidar2/node_modules/fsevents": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+      "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+      "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.",
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "peer": true,
+      "dependencies": {
+        "bindings": "^1.5.0",
+        "nan": "^2.12.1"
+      },
+      "engines": {
+        "node": ">= 4.0"
+      }
+    },
+    "node_modules/watchpack-chokidar2/node_modules/glob-parent": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "is-glob": "^3.1.0",
+        "path-dirname": "^1.0.0"
+      }
+    },
+    "node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "is-extglob": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webcrypto-core": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz",
+      "integrity": "sha512-p76Z/YLuE4CHCRdc49FB/ETaM4bzM3roqWNJeGs+QNY1fOTzKTOVnhmudW1fuO+5EZg6/4LG9NJ6gaAyxTk9XQ==",
+      "dev": true,
+      "dependencies": {
+        "@peculiar/asn1-schema": "^2.0.27",
+        "@peculiar/json-schema": "^1.1.12",
+        "asn1js": "^2.0.26",
+        "pvtsutils": "^1.1.2",
+        "tslib": "^2.1.0"
+      }
+    },
+    "node_modules/webidl-conversions": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.4"
+      }
+    },
+    "node_modules/webpack": {
+      "version": "4.46.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+      "peer": true,
+      "dependencies": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/wasm-edit": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "acorn": "^6.4.1",
+        "ajv": "^6.10.2",
+        "ajv-keywords": "^3.4.1",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^4.5.0",
+        "eslint-scope": "^4.0.3",
+        "json-parse-better-errors": "^1.0.2",
+        "loader-runner": "^2.4.0",
+        "loader-utils": "^1.2.3",
+        "memory-fs": "^0.4.1",
+        "micromatch": "^3.1.10",
+        "mkdirp": "^0.5.3",
+        "neo-async": "^2.6.1",
+        "node-libs-browser": "^2.2.1",
+        "schema-utils": "^1.0.0",
+        "tapable": "^1.1.3",
+        "terser-webpack-plugin": "^1.4.3",
+        "watchpack": "^1.7.4",
+        "webpack-sources": "^1.4.1"
+      },
+      "bin": {
+        "webpack": "bin/webpack.js"
+      },
+      "engines": {
+        "node": ">=6.11.5"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/webpack"
+      },
+      "peerDependenciesMeta": {
+        "webpack-cli": {
+          "optional": true
+        },
+        "webpack-command": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/webpack-sources": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
+      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+      "peer": true,
+      "dependencies": {
+        "source-list-map": "^2.0.0",
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/webpack-sources/node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/webpack/node_modules/acorn": {
+      "version": "6.4.2",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+      "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+      "peer": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/webpack/node_modules/eslint-scope": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+      "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+      "peer": true,
+      "dependencies": {
+        "esrecurse": "^4.1.0",
+        "estraverse": "^4.1.1"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/webpack/node_modules/mkdirp": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+      "peer": true,
+      "dependencies": {
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/webpack/node_modules/schema-utils": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+      "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+      "peer": true,
+      "dependencies": {
+        "ajv": "^6.1.0",
+        "ajv-errors": "^1.0.0",
+        "ajv-keywords": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 4"
       }
     },
     "node_modules/websocket-driver": {
@@ -15183,6 +17017,7 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
       "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+      "dev": true,
       "dependencies": {
         "iconv-lite": "0.4.24"
       }
@@ -15191,6 +17026,7 @@
       "version": "0.4.24",
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
       "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
       "dependencies": {
         "safer-buffer": ">= 2.1.2 < 3"
       },
@@ -15201,12 +17037,14 @@
     "node_modules/whatwg-mimetype": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+      "dev": true
     },
     "node_modules/whatwg-url": {
       "version": "8.7.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
       "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+      "dev": true,
       "dependencies": {
         "lodash": "^4.7.0",
         "tr46": "^2.1.0",
@@ -15330,6 +17168,7 @@
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
       "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -15340,6 +17179,15 @@
       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
       "dev": true
     },
+    "node_modules/worker-farm": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
+      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+      "peer": true,
+      "dependencies": {
+        "errno": "~0.1.7"
+      }
+    },
     "node_modules/workerpool": {
       "version": "6.1.5",
       "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
@@ -15405,13 +17253,25 @@
     "node_modules/wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "node_modules/write-file-atomic": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "is-typedarray": "^1.0.0",
+        "signal-exit": "^3.0.2",
+        "typedarray-to-buffer": "^3.1.5"
+      }
     },
     "node_modules/ws": {
       "version": "7.5.3",
       "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
       "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
+      "dev": true,
       "engines": {
         "node": ">=8.3.0"
       },
@@ -15431,23 +17291,25 @@
     "node_modules/xml-name-validator": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+      "dev": true
     },
     "node_modules/xmlchars": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+      "dev": true
     },
     "node_modules/xmlcreate": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz",
-      "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ=="
+      "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==",
+      "dev": true
     },
     "node_modules/xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
       "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true,
       "engines": {
         "node": ">=0.4"
       }
@@ -15942,7 +17804,8 @@
     "@babel/parser": {
       "version": "7.14.8",
       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.8.tgz",
-      "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA=="
+      "integrity": "sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA==",
+      "dev": true
     },
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
       "version": "7.14.5",
@@ -16848,6 +18711,70 @@
       "integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==",
       "dev": true
     },
+    "@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+      "dev": true,
+      "requires": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "resolve-from": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+          "dev": true
+        }
+      }
+    },
     "@istanbuljs/schema": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
@@ -17078,7 +19005,8 @@
     "@tootallnate/once": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
+      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+      "dev": true
     },
     "@types/accepts": {
       "version": "1.3.5",
@@ -17313,43 +19241,233 @@
         "parse5": "^6.0.1"
       }
     },
-    "abab": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
-      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
+    "@webassemblyjs/ast": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
+      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0"
+      }
     },
-    "abbrev": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
-      "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
-      "dev": true
+    "@webassemblyjs/floating-point-hex-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
+      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
+      "peer": true
     },
-    "accepts": {
-      "version": "1.3.7",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
-      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
-      "dev": true,
+    "@webassemblyjs/helper-api-error": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
+      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
+      "peer": true
+    },
+    "@webassemblyjs/helper-buffer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
+      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
+      "peer": true
+    },
+    "@webassemblyjs/helper-code-frame": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
+      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
+      "peer": true,
       "requires": {
-        "mime-types": "~2.1.24",
-        "negotiator": "0.6.2"
+        "@webassemblyjs/wast-printer": "1.9.0"
       }
     },
-    "acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+    "@webassemblyjs/helper-fsm": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
+      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
+      "peer": true
     },
-    "acorn-globals": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
-      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+    "@webassemblyjs/helper-module-context": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
+      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
+      "peer": true,
       "requires": {
-        "acorn": "^7.1.1",
-        "acorn-walk": "^7.1.1"
+        "@webassemblyjs/ast": "1.9.0"
       }
     },
-    "acorn-jsx": {
-      "version": "5.3.2",
+    "@webassemblyjs/helper-wasm-bytecode": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
+      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
+      "peer": true
+    },
+    "@webassemblyjs/helper-wasm-section": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
+      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0"
+      }
+    },
+    "@webassemblyjs/ieee754": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
+      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
+      "peer": true,
+      "requires": {
+        "@xtuc/ieee754": "^1.2.0"
+      }
+    },
+    "@webassemblyjs/leb128": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
+      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
+      "peer": true,
+      "requires": {
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/utf8": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
+      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
+      "peer": true
+    },
+    "@webassemblyjs/wasm-edit": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
+      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/helper-wasm-section": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-opt": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "@webassemblyjs/wast-printer": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-gen": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
+      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-opt": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
+      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wasm-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
+      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
+      }
+    },
+    "@webassemblyjs/wast-parser": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
+      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-code-frame": "1.9.0",
+        "@webassemblyjs/helper-fsm": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@webassemblyjs/wast-printer": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
+      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0",
+        "@xtuc/long": "4.2.2"
+      }
+    },
+    "@xtuc/ieee754": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+      "peer": true
+    },
+    "@xtuc/long": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+      "peer": true
+    },
+    "abab": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
+      "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==",
+      "dev": true
+    },
+    "abbrev": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+      "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+      "dev": true
+    },
+    "accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+      "dev": true,
+      "requires": {
+        "mime-types": "~2.1.24",
+        "negotiator": "0.6.2"
+      }
+    },
+    "acorn": {
+      "version": "7.4.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+      "dev": true
+    },
+    "acorn-globals": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+      "dev": true,
+      "requires": {
+        "acorn": "^7.1.1",
+        "acorn-walk": "^7.1.1"
+      }
+    },
+    "acorn-jsx": {
+      "version": "5.3.2",
       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
       "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
       "dev": true,
@@ -17369,21 +19487,40 @@
     "acorn-walk": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+      "dev": true
     },
     "agent-base": {
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
       "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+      "dev": true,
       "requires": {
         "debug": "4"
       }
     },
+    "aggregate-error": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+      "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+      "dev": true,
+      "requires": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "dependencies": {
+        "indent-string": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+          "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+          "dev": true
+        }
+      }
+    },
     "ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
       "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
       "requires": {
         "fast-deep-equal": "^3.1.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -17391,6 +19528,20 @@
         "uri-js": "^4.2.2"
       }
     },
+    "ajv-errors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+      "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+      "peer": true,
+      "requires": {}
+    },
+    "ajv-keywords": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+      "peer": true,
+      "requires": {}
+    },
     "amdefine": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
@@ -17434,7 +19585,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -17444,7 +19595,7 @@
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
           "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "remove-trailing-separator": "^1.0.1"
           }
@@ -17466,6 +19617,21 @@
       "integrity": "sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw==",
       "dev": true
     },
+    "append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+      "dev": true,
+      "requires": {
+        "default-require-extensions": "^3.0.0"
+      }
+    },
+    "aproba": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "peer": true
+    },
     "archiver": {
       "version": "0.14.4",
       "resolved": "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz",
@@ -17535,10 +19701,17 @@
         }
       }
     },
+    "archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+      "dev": true
+    },
     "argparse": {
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
       "requires": {
         "sprintf-js": "~1.0.2"
       }
@@ -17546,20 +19719,17 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
     },
     "array-find-index": {
       "version": "1.0.2",
@@ -17582,8 +19752,7 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
     },
     "arrify": {
       "version": "1.0.1",
@@ -17595,7 +19764,6 @@
       "version": "5.4.1",
       "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
       "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.0.0",
         "inherits": "^2.0.1",
@@ -17606,8 +19774,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -17624,7 +19791,6 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
       "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
-      "dev": true,
       "requires": {
         "object-assign": "^4.1.1",
         "util": "0.10.3"
@@ -17633,14 +19799,12 @@
         "inherits": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
         },
         "util": {
           "version": "0.10.3",
           "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
           "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
           "requires": {
             "inherits": "2.0.1"
           }
@@ -17656,8 +19820,7 @@
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
     },
     "astral-regex": {
       "version": "2.0.0",
@@ -17675,23 +19838,24 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
       "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
-      "dev": true
+      "devOptional": true
     },
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
     },
     "at-least-node": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "dev": true
     },
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
     "available-typed-arrays": {
       "version": "1.0.4",
@@ -17703,7 +19867,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
       "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
-      "dev": true,
       "requires": {
         "chalk": "^1.1.3",
         "esutils": "^2.0.2",
@@ -17713,20 +19876,17 @@
         "ansi-regex": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
         },
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
         },
         "chalk": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
           "requires": {
             "ansi-styles": "^2.2.1",
             "escape-string-regexp": "^1.0.2",
@@ -17738,14 +19898,12 @@
         "js-tokens": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
-          "dev": true
+          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
         },
         "strip-ansi": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
-          "dev": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -17753,8 +19911,29 @@
         "supports-color": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+        }
+      }
+    },
+    "babel-generator": {
+      "version": "6.26.1",
+      "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+      "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+      "requires": {
+        "babel-messages": "^6.23.0",
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "detect-indent": "^4.0.0",
+        "jsesc": "^1.3.0",
+        "lodash": "^4.17.4",
+        "source-map": "^0.5.7",
+        "trim-right": "^1.0.1"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+          "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
         }
       }
     },
@@ -17889,7 +20068,6 @@
       "version": "6.23.0",
       "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
       "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
-      "dev": true,
       "requires": {
         "babel-runtime": "^6.22.0"
       }
@@ -17912,6 +20090,19 @@
         "object.assign": "^4.1.0"
       }
     },
+    "babel-plugin-istanbul": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+      "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^4.0.0",
+        "test-exclude": "^6.0.0"
+      }
+    },
     "babel-plugin-polyfill-corejs2": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz",
@@ -18351,7 +20542,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
       "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
-      "dev": true,
       "requires": {
         "core-js": "^2.4.0",
         "regenerator-runtime": "^0.11.0"
@@ -18361,7 +20551,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
       "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
-      "dev": true,
       "requires": {
         "babel-runtime": "^6.26.0",
         "babel-traverse": "^6.26.0",
@@ -18374,7 +20563,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
       "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
-      "dev": true,
       "requires": {
         "babel-code-frame": "^6.26.0",
         "babel-messages": "^6.23.0",
@@ -18391,7 +20579,6 @@
           "version": "2.6.9",
           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -18399,14 +20586,12 @@
         "globals": {
           "version": "9.18.0",
           "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
-          "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
-          "dev": true
+          "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
         },
         "ms": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
         }
       }
     },
@@ -18414,7 +20599,6 @@
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
       "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
-      "dev": true,
       "requires": {
         "babel-runtime": "^6.26.0",
         "esutils": "^2.0.2",
@@ -18425,8 +20609,7 @@
         "to-fast-properties": {
           "version": "1.0.3",
           "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
-          "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
-          "dev": true
+          "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
         }
       }
     },
@@ -18440,20 +20623,17 @@
     "babylon": {
       "version": "6.18.0",
       "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
-      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
-      "dev": true
+      "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
     },
     "balanced-match": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
     },
     "base": {
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -18468,7 +20648,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -18478,8 +20657,7 @@
     "base64-js": {
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
-      "dev": true
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
     },
     "basic-auth": {
       "version": "2.0.1",
@@ -18510,17 +20688,21 @@
       "integrity": "sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=",
       "dev": true
     },
+    "big.js": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
+    },
     "binary-extensions": {
       "version": "1.13.1",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
       "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-      "dev": true
+      "devOptional": true
     },
     "bindings": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
       "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
-      "dev": true,
       "optional": true,
       "requires": {
         "file-uri-to-path": "1.0.0"
@@ -18569,8 +20751,7 @@
     "bn.js": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
-      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
-      "dev": true
+      "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw=="
     },
     "body-parser": {
       "version": "1.12.4",
@@ -18631,7 +20812,6 @@
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dev": true,
       "requires": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
@@ -18641,7 +20821,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -18658,8 +20837,7 @@
     "brorand": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
-      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
-      "dev": true
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
     },
     "brout": {
       "version": "1.3.0",
@@ -18817,7 +20995,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
       "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
-      "dev": true,
       "requires": {
         "buffer-xor": "^1.0.3",
         "cipher-base": "^1.0.0",
@@ -18831,7 +21008,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
       "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
-      "dev": true,
       "requires": {
         "browserify-aes": "^1.0.4",
         "browserify-des": "^1.0.0",
@@ -18842,7 +21018,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
       "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
-      "dev": true,
       "requires": {
         "cipher-base": "^1.0.1",
         "des.js": "^1.0.0",
@@ -18854,7 +21029,6 @@
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
       "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
-      "dev": true,
       "requires": {
         "bn.js": "^5.0.0",
         "randombytes": "^2.0.1"
@@ -18864,7 +21038,6 @@
       "version": "4.2.1",
       "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
       "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
-      "dev": true,
       "requires": {
         "bn.js": "^5.1.1",
         "browserify-rsa": "^4.0.1",
@@ -18881,7 +21054,6 @@
           "version": "3.6.0",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
           "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-          "dev": true,
           "requires": {
             "inherits": "^2.0.3",
             "string_decoder": "^1.1.1",
@@ -18894,7 +21066,6 @@
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
       "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
-      "dev": true,
       "requires": {
         "pako": "~1.0.5"
       }
@@ -18937,20 +21108,17 @@
     "buffer-from": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
-      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
-      "dev": true
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
     },
     "buffer-xor": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
-      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
-      "dev": true
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
     },
     "builtin-status-codes": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
-      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
-      "dev": true
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
     },
     "bundle-collapser": {
       "version": "1.4.0",
@@ -18972,11 +21140,74 @@
       "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
       "dev": true
     },
+    "cacache": {
+      "version": "12.0.4",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+      "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
+      "peer": true,
+      "requires": {
+        "bluebird": "^3.5.5",
+        "chownr": "^1.1.1",
+        "figgy-pudding": "^3.5.1",
+        "glob": "^7.1.4",
+        "graceful-fs": "^4.1.15",
+        "infer-owner": "^1.0.3",
+        "lru-cache": "^5.1.1",
+        "mississippi": "^3.0.0",
+        "mkdirp": "^0.5.1",
+        "move-concurrently": "^1.0.1",
+        "promise-inflight": "^1.0.1",
+        "rimraf": "^2.6.3",
+        "ssri": "^6.0.1",
+        "unique-filename": "^1.1.1",
+        "y18n": "^4.0.0"
+      },
+      "dependencies": {
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "peer": true,
+          "requires": {
+            "yallist": "^3.0.2"
+          }
+        },
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "peer": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "peer": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
+        "y18n": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+          "peer": true
+        },
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "peer": true
+        }
+      }
+    },
     "cache-base": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -19005,6 +21236,29 @@
       "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==",
       "dev": true
     },
+    "caching-transform": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
+      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
+      "dev": true,
+      "requires": {
+        "hasha": "^5.0.0",
+        "make-dir": "^3.0.0",
+        "package-hash": "^4.0.0",
+        "write-file-atomic": "^3.0.0"
+      },
+      "dependencies": {
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+          "dev": true,
+          "requires": {
+            "semver": "^6.0.0"
+          }
+        }
+      }
+    },
     "call-bind": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
@@ -19059,6 +21313,7 @@
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz",
       "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==",
+      "dev": true,
       "requires": {
         "lodash": "^4.17.15"
       }
@@ -19077,6 +21332,13 @@
         "type-detect": "^4.0.5"
       }
     },
+    "chai-dom": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/chai-dom/-/chai-dom-1.9.0.tgz",
+      "integrity": "sha512-UXSbhcGVBWv/5qVqbJY/giTDRyo3wKapUsWluEuVvxcJLFXkyf8l4D2PTd6trzrmca6WWnGdpaFkYdl1P0WjtA==",
+      "dev": true,
+      "requires": {}
+    },
     "chalk": {
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -19104,7 +21366,7 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
       "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -19120,7 +21382,7 @@
           "version": "3.1.2",
           "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
           "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "normalize-path": "^3.0.0",
             "picomatch": "^2.0.4"
@@ -19130,13 +21392,13 @@
           "version": "2.2.0",
           "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
           "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-          "dev": true
+          "devOptional": true
         },
         "braces": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
           "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "fill-range": "^7.0.1"
           }
@@ -19145,7 +21407,7 @@
           "version": "7.0.1",
           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
           "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "to-regex-range": "^5.0.1"
           }
@@ -19154,7 +21416,7 @@
           "version": "2.1.0",
           "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
           "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "binary-extensions": "^2.0.0"
           }
@@ -19163,13 +21425,13 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
           "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-          "dev": true
+          "devOptional": true
         },
         "readdirp": {
           "version": "3.6.0",
           "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
           "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "picomatch": "^2.2.1"
           }
@@ -19178,7 +21440,7 @@
           "version": "5.0.1",
           "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
           "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-          "dev": true,
+          "devOptional": true,
           "requires": {
             "is-number": "^7.0.0"
           }
@@ -19188,8 +21450,7 @@
     "chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
     },
     "chrome-launcher": {
       "version": "0.11.2",
@@ -19248,6 +21509,12 @@
         }
       }
     },
+    "chrome-trace-event": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
+      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
+      "peer": true
+    },
     "chrome-unmirror": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/chrome-unmirror/-/chrome-unmirror-0.1.0.tgz",
@@ -19258,7 +21525,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
       "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "safe-buffer": "^5.0.1"
@@ -19268,7 +21534,6 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -19280,7 +21545,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -19289,7 +21553,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
           "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -19298,7 +21561,6 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
           "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -19307,7 +21569,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
           "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^0.1.6",
             "is-data-descriptor": "^0.1.4",
@@ -19317,8 +21578,7 @@
             "kind-of": {
               "version": "5.1.0",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
             }
           }
         }
@@ -19328,11 +21588,18 @@
       "version": "3.2.7",
       "resolved": "https://registry.npmjs.org/clean-jsdoc-theme/-/clean-jsdoc-theme-3.2.7.tgz",
       "integrity": "sha512-G/jpIIFY0aZ0ey3A81DRKRd+IG64yco/uwAITHtrZd9X2GHiQOFhT4yDymKTCxrsd/dainhFsF1E6ochGJBjRQ==",
+      "dev": true,
       "requires": {
         "fs-extra": "^9.1.0"
       }
     },
-    "cliui": {
+    "clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true
+    },
+    "cliui": {
       "version": "7.0.4",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
       "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
@@ -19352,14 +21619,12 @@
     "co": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
     },
     "collection-visit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -19416,6 +21681,7 @@
       "version": "1.0.8",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
       "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
@@ -19439,11 +21705,15 @@
         "wrap-comment": "^1.0.1"
       }
     },
+    "commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+    },
     "component-emitter": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
-      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
-      "dev": true
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
     },
     "compress-commons": {
       "version": "0.2.9",
@@ -19486,14 +21756,12 @@
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
-      "dev": true
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
     },
     "concat-stream": {
       "version": "1.6.2",
       "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
       "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "dev": true,
       "requires": {
         "buffer-from": "^1.0.0",
         "inherits": "^2.0.3",
@@ -19533,8 +21801,7 @@
     "console-browserify": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
-      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
-      "dev": true
+      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
     },
     "consolify": {
       "version": "2.2.0",
@@ -19552,8 +21819,7 @@
     "constants-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
-      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
-      "dev": true
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
     },
     "content-disposition": {
       "version": "0.5.3",
@@ -19582,7 +21848,6 @@
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
       "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
-      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.1"
       },
@@ -19590,8 +21855,7 @@
         "safe-buffer": {
           "version": "5.1.2",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
         }
       }
     },
@@ -19623,17 +21887,49 @@
         "keygrip": "~1.1.0"
       }
     },
+    "copy-concurrently": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+      "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+      "peer": true,
+      "requires": {
+        "aproba": "^1.1.1",
+        "fs-write-stream-atomic": "^1.0.8",
+        "iferr": "^0.1.5",
+        "mkdirp": "^0.5.1",
+        "rimraf": "^2.5.4",
+        "run-queue": "^1.0.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "peer": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "peer": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
+      }
+    },
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
     },
     "core-js": {
       "version": "2.6.12",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
-      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
-      "dev": true
+      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
     },
     "core-js-compat": {
       "version": "3.15.2",
@@ -19656,8 +21952,7 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
     "cors": {
       "version": "2.8.5",
@@ -19782,7 +22077,6 @@
       "version": "4.0.4",
       "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
       "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.1.0",
         "elliptic": "^6.5.3"
@@ -19791,8 +22085,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -19800,7 +22093,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
       "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
-      "dev": true,
       "requires": {
         "cipher-base": "^1.0.1",
         "inherits": "^2.0.1",
@@ -19813,7 +22105,6 @@
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
       "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
-      "dev": true,
       "requires": {
         "cipher-base": "^1.0.3",
         "create-hash": "^1.1.0",
@@ -19844,7 +22135,6 @@
       "version": "3.12.0",
       "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
       "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
-      "dev": true,
       "requires": {
         "browserify-cipher": "^1.0.0",
         "browserify-sign": "^4.0.0",
@@ -19862,12 +22152,14 @@
     "cssom": {
       "version": "0.4.4",
       "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
-      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+      "dev": true
     },
     "cssstyle": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
       "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+      "dev": true,
       "requires": {
         "cssom": "~0.3.6"
       },
@@ -19875,7 +22167,8 @@
         "cssom": {
           "version": "0.3.8",
           "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
-          "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+          "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+          "dev": true
         }
       }
     },
@@ -19888,6 +22181,12 @@
         "array-find-index": "^1.0.1"
       }
     },
+    "cyclist": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+      "peer": true
+    },
     "d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -19908,6 +22207,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
       "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+      "dev": true,
       "requires": {
         "abab": "^2.0.3",
         "whatwg-mimetype": "^2.3.0",
@@ -19918,6 +22218,7 @@
       "version": "4.3.2",
       "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
       "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+      "dev": true,
       "requires": {
         "ms": "2.1.2"
       }
@@ -19949,13 +22250,13 @@
     "decimal.js": {
       "version": "10.3.1",
       "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
-      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+      "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
+      "dev": true
     },
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
     },
     "dedent": {
       "version": "0.7.0",
@@ -19990,7 +22291,25 @@
     "deep-is": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
-      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+      "dev": true
+    },
+    "default-require-extensions": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
+      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
+      "dev": true,
+      "requires": {
+        "strip-bom": "^4.0.0"
+      },
+      "dependencies": {
+        "strip-bom": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+          "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+          "dev": true
+        }
+      }
     },
     "define-properties": {
       "version": "1.1.3",
@@ -20005,7 +22324,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -20020,7 +22338,8 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
     },
     "delegates": {
       "version": "1.0.0",
@@ -20050,7 +22369,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
       "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "minimalistic-assert": "^1.0.0"
@@ -20062,6 +22380,14 @@
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
       "dev": true
     },
+    "detect-indent": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+      "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+      "requires": {
+        "repeating": "^2.0.0"
+      }
+    },
     "detective": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
@@ -20089,7 +22415,6 @@
       "version": "5.0.3",
       "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
       "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.1.0",
         "miller-rabin": "^4.0.0",
@@ -20099,8 +22424,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -20128,13 +22452,13 @@
     "domain-browser": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
-      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
-      "dev": true
+      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
     },
     "domexception": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
       "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+      "dev": true,
       "requires": {
         "webidl-conversions": "^5.0.0"
       },
@@ -20142,7 +22466,8 @@
         "webidl-conversions": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
-          "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
+          "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+          "dev": true
         }
       }
     },
@@ -20202,7 +22527,6 @@
       "version": "6.5.4",
       "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
       "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.11.9",
         "brorand": "^1.1.0",
@@ -20216,8 +22540,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -20227,6 +22550,11 @@
       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
       "dev": true
     },
+    "emojis-list": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
+    },
     "encodeurl": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -20237,11 +22565,33 @@
       "version": "1.4.4",
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
       "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dev": true,
       "requires": {
         "once": "^1.4.0"
       }
     },
+    "enhanced-resolve": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+      "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+      "peer": true,
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "memory-fs": "^0.5.0",
+        "tapable": "^1.0.0"
+      },
+      "dependencies": {
+        "memory-fs": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+          "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+          "peer": true,
+          "requires": {
+            "errno": "^0.1.3",
+            "readable-stream": "^2.0.1"
+          }
+        }
+      }
+    },
     "enquirer": {
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
@@ -20254,7 +22604,17 @@
     "entities": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
-      "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
+      "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
+      "dev": true
+    },
+    "errno": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+      "peer": true,
+      "requires": {
+        "prr": "~1.0.1"
+      }
     },
     "error-ex": {
       "version": "1.3.2",
@@ -20317,6 +22677,12 @@
         "next-tick": "~1.0.0"
       }
     },
+    "es6-error": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+      "dev": true
+    },
     "es6-iterator": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
@@ -20419,13 +22785,13 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escodegen": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
       "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+      "dev": true,
       "requires": {
         "esprima": "^4.0.1",
         "estraverse": "^5.2.0",
@@ -20437,12 +22803,14 @@
         "estraverse": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
+          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+          "dev": true
         },
         "levn": {
           "version": "0.3.0",
           "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
           "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+          "dev": true,
           "requires": {
             "prelude-ls": "~1.1.2",
             "type-check": "~0.3.2"
@@ -20452,6 +22820,7 @@
           "version": "0.8.3",
           "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
           "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+          "dev": true,
           "requires": {
             "deep-is": "~0.1.3",
             "fast-levenshtein": "~2.0.6",
@@ -20464,18 +22833,21 @@
         "prelude-ls": {
           "version": "1.1.2",
           "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
-          "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+          "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+          "dev": true
         },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true,
           "optional": true
         },
         "type-check": {
           "version": "0.3.2",
           "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
           "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+          "dev": true,
           "requires": {
             "prelude-ls": "~1.1.2"
           }
@@ -20687,7 +23059,8 @@
     "esprima": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true
     },
     "espurify": {
       "version": "2.1.1",
@@ -20716,7 +23089,6 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
       "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
       "requires": {
         "estraverse": "^5.2.0"
       },
@@ -20724,16 +23096,14 @@
         "estraverse": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
-          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
-          "dev": true
+          "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
         }
       }
     },
     "estraverse": {
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true
+      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
     },
     "estree-is-function": {
       "version": "1.0.0",
@@ -20801,14 +23171,12 @@
     "events": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
     },
     "evp_bytestokey": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
       "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
-      "dev": true,
       "requires": {
         "md5.js": "^1.3.4",
         "safe-buffer": "^5.1.1"
@@ -20830,7 +23198,6 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -20845,7 +23212,6 @@
           "version": "2.6.9",
           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -20854,7 +23220,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -20863,7 +23228,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
           "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -20872,7 +23236,6 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
           "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -20881,7 +23244,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
           "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^0.1.6",
             "is-data-descriptor": "^0.1.4",
@@ -20891,16 +23253,14 @@
             "kind-of": {
               "version": "5.1.0",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
             }
           }
         },
         "ms": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
         }
       }
     },
@@ -21082,7 +23442,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
       "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-      "dev": true,
       "requires": {
         "is-extendable": "^0.1.0"
       }
@@ -21091,7 +23450,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -21107,7 +23465,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -21152,19 +23509,18 @@
     "fast-deep-equal": {
       "version": "3.1.3",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
     },
     "fast-json-stable-stringify": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
-      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+      "dev": true
     },
     "fast-safe-stringify": {
       "version": "2.0.8",
@@ -21190,6 +23546,12 @@
         "pend": "~1.2.0"
       }
     },
+    "figgy-pudding": {
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
+      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
+      "peer": true
+    },
     "file-entry-cache": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -21203,14 +23565,12 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
       "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
-      "dev": true,
       "optional": true
     },
     "fill-range": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -21250,6 +23610,74 @@
         }
       }
     },
+    "find-cache-dir": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
+      "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
+      "dev": true,
+      "requires": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.2",
+        "pkg-dir": "^4.1.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+          "dev": true,
+          "requires": {
+            "semver": "^6.0.0"
+          }
+        },
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "pkg-dir": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+          "dev": true,
+          "requires": {
+            "find-up": "^4.0.0"
+          }
+        }
+      }
+    },
     "find-up": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -21288,11 +23716,20 @@
       "integrity": "sha512-KEEsKV7/bePZM3Ja7rYlAaSx8GPiTGr7pt0IJcX5S3GSEIZ2ieayF6JWNjbyLiu7ZUJuWe4ITDnPvyqimUpYww==",
       "dev": true
     },
+    "flush-write-stream": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+      "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+      "peer": true,
+      "requires": {
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.3.6"
+      }
+    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
     },
     "foreach": {
       "version": "2.0.5",
@@ -21300,10 +23737,21 @@
       "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
       "dev": true
     },
+    "foreground-child": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
+      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^3.0.2"
+      }
+    },
     "form-data": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
       "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
@@ -21326,7 +23774,6 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -21347,7 +23794,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -21362,6 +23808,12 @@
         "from2": "^2.0.3"
       }
     },
+    "fromentries": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz",
+      "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==",
+      "dev": true
+    },
     "fs-constants": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@@ -21372,6 +23824,7 @@
       "version": "9.1.0",
       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
       "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dev": true,
       "requires": {
         "at-least-node": "^1.0.0",
         "graceful-fs": "^4.2.0",
@@ -21382,7 +23835,8 @@
         "universalify": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true
         }
       }
     },
@@ -21392,11 +23846,22 @@
       "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
       "dev": true
     },
+    "fs-write-stream-atomic": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+      "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+      "peer": true,
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "iferr": "^0.1.5",
+        "imurmurhash": "^0.1.4",
+        "readable-stream": "1 || 2"
+      }
+    },
     "fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
-      "dev": true
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
     },
     "fsevents": {
       "version": "2.3.2",
@@ -21452,6 +23917,12 @@
         "has-symbols": "^1.0.1"
       }
     },
+    "get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+      "dev": true
+    },
     "get-random-values": {
       "version": "1.2.2",
       "resolved": "https://registry.npmjs.org/get-random-values/-/get-random-values-1.2.2.tgz",
@@ -21470,14 +23941,12 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
     },
     "glob": {
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
       "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-      "dev": true,
       "requires": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
@@ -21491,7 +23960,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "is-glob": "^4.0.1"
       }
@@ -21557,7 +24026,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
-      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       },
@@ -21565,8 +24033,7 @@
         "ansi-regex": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
-          "dev": true
+          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
         }
       }
     },
@@ -21592,7 +24059,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -21603,7 +24069,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -21613,7 +24078,6 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -21624,7 +24088,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
       "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.4",
         "readable-stream": "^3.6.0",
@@ -21635,7 +24098,6 @@
           "version": "3.6.0",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
           "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
-          "dev": true,
           "requires": {
             "inherits": "^2.0.3",
             "string_decoder": "^1.1.1",
@@ -21648,12 +24110,29 @@
       "version": "1.1.7",
       "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
       "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.3",
         "minimalistic-assert": "^1.0.1"
       }
     },
+    "hasha": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz",
+      "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==",
+      "dev": true,
+      "requires": {
+        "is-stream": "^2.0.0",
+        "type-fest": "^0.8.0"
+      },
+      "dependencies": {
+        "type-fest": {
+          "version": "0.8.1",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+          "dev": true
+        }
+      }
+    },
     "he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -21664,7 +24143,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
       "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
-      "dev": true,
       "requires": {
         "hash.js": "^1.0.3",
         "minimalistic-assert": "^1.0.0",
@@ -21681,6 +24159,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
       "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+      "dev": true,
       "requires": {
         "whatwg-encoding": "^1.0.5"
       }
@@ -21777,6 +24256,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
       "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+      "dev": true,
       "requires": {
         "@tootallnate/once": "1",
         "agent-base": "6",
@@ -21786,13 +24266,13 @@
     "https-browserify": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
-      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
-      "dev": true
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
     },
     "https-proxy-agent": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
       "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+      "dev": true,
       "requires": {
         "agent-base": "6",
         "debug": "4"
@@ -21807,8 +24287,13 @@
     "ieee754": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
-      "dev": true
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+    },
+    "iferr": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+      "peer": true
     },
     "ignore": {
       "version": "4.0.6",
@@ -21839,8 +24324,7 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
     },
     "indent-string": {
       "version": "3.2.0",
@@ -21848,11 +24332,16 @@
       "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
       "dev": true
     },
+    "infer-owner": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "peer": true
+    },
     "inflight": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
-      "dev": true,
       "requires": {
         "once": "^1.3.0",
         "wrappy": "1"
@@ -21861,8 +24350,7 @@
     "inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-      "dev": true
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
     },
     "inline-source-map": {
       "version": "0.6.2",
@@ -21895,7 +24383,6 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
       "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "dev": true,
       "requires": {
         "loose-envify": "^1.0.0"
       }
@@ -21910,7 +24397,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
       "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-      "dev": true,
       "requires": {
         "kind-of": "^6.0.0"
       },
@@ -21918,8 +24404,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-          "dev": true
+          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         }
       }
     },
@@ -21948,7 +24433,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -21965,8 +24450,7 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "is-callable": {
       "version": "1.2.3",
@@ -21987,7 +24471,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
       "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-      "dev": true,
       "requires": {
         "kind-of": "^6.0.0"
       },
@@ -21995,8 +24478,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-          "dev": true
+          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         }
       }
     },
@@ -22010,7 +24492,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
       "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^1.0.0",
         "is-data-descriptor": "^1.0.0",
@@ -22020,8 +24501,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-          "dev": true
+          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         }
       }
     },
@@ -22034,14 +24514,18 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "devOptional": true
+    },
+    "is-finite": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+      "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w=="
     },
     "is-fullwidth-code-point": {
       "version": "3.0.0",
@@ -22059,7 +24543,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
       "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -22074,7 +24558,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       }
@@ -22101,7 +24584,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -22109,7 +24591,8 @@
     "is-potential-custom-element-name": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
-      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+      "dev": true
     },
     "is-regex": {
       "version": "1.1.3",
@@ -22155,6 +24638,12 @@
         "has-symbols": "^1.0.1"
       }
     },
+    "is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
     "is-unicode-supported": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
@@ -22164,8 +24653,7 @@
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
     },
     "is-wsl": {
       "version": "2.2.0",
@@ -22197,8 +24685,7 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
     "istanbul": {
       "version": "0.4.5",
@@ -22356,12 +24843,58 @@
         }
       }
     },
+    "istanbul-instrumenter-loader": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+      "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+      "requires": {
+        "convert-source-map": "^1.5.0",
+        "istanbul-lib-instrument": "^1.7.3",
+        "loader-utils": "^1.1.0",
+        "schema-utils": "^0.3.0"
+      },
+      "dependencies": {
+        "istanbul-lib-coverage": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
+          "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ=="
+        },
+        "istanbul-lib-instrument": {
+          "version": "1.10.2",
+          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
+          "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
+          "requires": {
+            "babel-generator": "^6.18.0",
+            "babel-template": "^6.16.0",
+            "babel-traverse": "^6.18.0",
+            "babel-types": "^6.18.0",
+            "babylon": "^6.18.0",
+            "istanbul-lib-coverage": "^1.2.1",
+            "semver": "^5.3.0"
+          }
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+        }
+      }
+    },
     "istanbul-lib-coverage": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
       "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
       "dev": true
     },
+    "istanbul-lib-hook": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
+      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
+      "dev": true,
+      "requires": {
+        "append-transform": "^2.0.0"
+      }
+    },
     "istanbul-lib-instrument": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
@@ -22374,6 +24907,32 @@
         "semver": "^6.3.0"
       }
     },
+    "istanbul-lib-processinfo": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
+      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
+      "dev": true,
+      "requires": {
+        "archy": "^1.0.0",
+        "cross-spawn": "^7.0.0",
+        "istanbul-lib-coverage": "^3.0.0-alpha.1",
+        "make-dir": "^3.0.0",
+        "p-map": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "uuid": "^3.3.3"
+      },
+      "dependencies": {
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+          "dev": true,
+          "requires": {
+            "semver": "^6.0.0"
+          }
+        }
+      }
+    },
     "istanbul-lib-report": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
@@ -22411,6 +24970,25 @@
         }
       }
     },
+    "istanbul-lib-source-maps": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
+      }
+    },
     "istanbul-middleware": {
       "version": "npm:@stagas/istanbul-middleware@0.2.2",
       "resolved": "https://registry.npmjs.org/@stagas/istanbul-middleware/-/istanbul-middleware-0.2.2.tgz",
@@ -22437,8 +25015,7 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
     },
     "js-yaml": {
       "version": "3.14.1",
@@ -22454,6 +25031,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.1.tgz",
       "integrity": "sha512-KrPTolcw6RocpYjdC7pL7v62e55q7qOMHvLX1UCLc5AAS8qeJ6nukarEJAF2KL2PZxlbGueEbINqZR2bDe/gUw==",
+      "dev": true,
       "requires": {
         "xmlcreate": "^2.0.3"
       }
@@ -22462,6 +25040,7 @@
       "version": "3.6.7",
       "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.7.tgz",
       "integrity": "sha512-sxKt7h0vzCd+3Y81Ey2qinupL6DpRSZJclS04ugHDNmRUXGzqicMJ6iwayhSA0S0DwwX30c5ozyUthr1QKF6uw==",
+      "dev": true,
       "requires": {
         "@babel/parser": "^7.9.4",
         "bluebird": "^3.7.2",
@@ -22482,7 +25061,8 @@
         "escape-string-regexp": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
+          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+          "dev": true
         }
       }
     },
@@ -22490,6 +25070,7 @@
       "version": "16.6.0",
       "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz",
       "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==",
+      "dev": true,
       "requires": {
         "abab": "^2.0.5",
         "acorn": "^8.2.4",
@@ -22523,7 +25104,8 @@
         "acorn": {
           "version": "8.4.1",
           "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
-          "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA=="
+          "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
+          "dev": true
         }
       }
     },
@@ -22531,6 +25113,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/jsdom-global/-/jsdom-global-3.0.2.tgz",
       "integrity": "sha1-a9KZwTsMRiay2iwDk81DhdYGrLk=",
+      "dev": true,
       "requires": {}
     },
     "jsesc": {
@@ -22542,14 +25125,12 @@
     "json-parse-better-errors": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
-      "dev": true
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
     },
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stable-stringify": {
       "version": "0.0.1",
@@ -22579,6 +25160,7 @@
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
       "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.6",
         "universalify": "^2.0.0"
@@ -22587,7 +25169,8 @@
         "universalify": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
+          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+          "dev": true
         }
       }
     },
@@ -22632,7 +25215,6 @@
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
       "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-      "dev": true,
       "requires": {
         "is-buffer": "^1.1.5"
       }
@@ -22641,6 +25223,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
       "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.9"
       }
@@ -22847,6 +25430,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
       "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
+      "dev": true,
       "requires": {
         "uc.micro": "^1.0.1"
       }
@@ -22958,6 +25542,32 @@
         }
       }
     },
+    "loader-runner": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+      "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+      "peer": true
+    },
+    "loader-utils": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+      "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+      "requires": {
+        "big.js": "^5.2.2",
+        "emojis-list": "^3.0.0",
+        "json5": "^1.0.1"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        }
+      }
+    },
     "locate-path": {
       "version": "6.0.0",
       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
@@ -22984,6 +25594,12 @@
       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
       "dev": true
     },
+    "lodash.flattendeep": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+      "dev": true
+    },
     "lodash.get": {
       "version": "4.4.2",
       "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
@@ -23079,7 +25695,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "dev": true,
       "requires": {
         "js-tokens": "^3.0.0 || ^4.0.0"
       }
@@ -23122,7 +25737,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
       "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "dev": true,
       "requires": {
         "pify": "^4.0.1",
         "semver": "^5.6.0"
@@ -23131,16 +25745,14 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
         }
       }
     },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
     },
     "map-obj": {
       "version": "2.0.0",
@@ -23158,7 +25770,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
@@ -23167,6 +25778,7 @@
       "version": "10.0.0",
       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz",
       "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==",
+      "dev": true,
       "requires": {
         "argparse": "^1.0.7",
         "entities": "~2.0.0",
@@ -23179,12 +25791,14 @@
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz",
       "integrity": "sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==",
+      "dev": true,
       "requires": {}
     },
     "marked": {
       "version": "2.1.3",
       "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz",
-      "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA=="
+      "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==",
+      "dev": true
     },
     "marky": {
       "version": "1.2.2",
@@ -23196,7 +25810,6 @@
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
       "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
-      "dev": true,
       "requires": {
         "hash-base": "^3.0.0",
         "inherits": "^2.0.1",
@@ -23206,7 +25819,8 @@
     "mdurl": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
-      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
+      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+      "dev": true
     },
     "media-typer": {
       "version": "0.3.0",
@@ -23214,6 +25828,16 @@
       "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
       "dev": true
     },
+    "memory-fs": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+      "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+      "peer": true,
+      "requires": {
+        "errno": "^0.1.3",
+        "readable-stream": "^2.0.1"
+      }
+    },
     "meow": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
@@ -23267,7 +25891,6 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -23288,7 +25911,6 @@
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
           "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
           "requires": {
             "assign-symbols": "^1.0.0",
             "is-extendable": "^1.0.1"
@@ -23298,7 +25920,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -23306,8 +25927,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-          "dev": true
+          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         }
       }
     },
@@ -23315,7 +25935,6 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
       "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.0.0",
         "brorand": "^1.0.1"
@@ -23324,8 +25943,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -23338,12 +25956,14 @@
     "mime-db": {
       "version": "1.49.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
-      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
+      "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+      "dev": true
     },
     "mime-types": {
       "version": "2.1.32",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
       "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+      "dev": true,
       "requires": {
         "mime-db": "1.49.0"
       }
@@ -23413,20 +26033,17 @@
     "minimalistic-assert": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
-      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
-      "dev": true
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
     },
     "minimalistic-crypto-utils": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
-      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
-      "dev": true
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
     },
     "minimatch": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
-      "dev": true,
       "requires": {
         "brace-expansion": "^1.1.7"
       }
@@ -23434,8 +26051,7 @@
     "minimist": {
       "version": "1.2.5",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-      "dev": true
+      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
     },
     "minimist-options": {
       "version": "3.0.2",
@@ -23447,11 +26063,42 @@
         "is-plain-obj": "^1.1.0"
       }
     },
+    "mississippi": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+      "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+      "peer": true,
+      "requires": {
+        "concat-stream": "^1.5.0",
+        "duplexify": "^3.4.2",
+        "end-of-stream": "^1.1.0",
+        "flush-write-stream": "^1.0.0",
+        "from2": "^2.1.0",
+        "parallel-transform": "^1.1.0",
+        "pump": "^3.0.0",
+        "pumpify": "^1.3.3",
+        "stream-each": "^1.1.0",
+        "through2": "^2.0.0"
+      },
+      "dependencies": {
+        "duplexify": {
+          "version": "3.7.1",
+          "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+          "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+          "peer": true,
+          "requires": {
+            "end-of-stream": "^1.0.0",
+            "inherits": "^2.0.1",
+            "readable-stream": "^2.0.0",
+            "stream-shift": "^1.0.0"
+          }
+        }
+      }
+    },
     "mixin-deep": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -23461,7 +26108,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -23471,7 +26117,8 @@
     "mkdirp": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
+      "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+      "dev": true
     },
     "mkdirp-classic": {
       "version": "0.5.3",
@@ -24474,10 +27121,45 @@
         }
       }
     },
+    "move-concurrently": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+      "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+      "peer": true,
+      "requires": {
+        "aproba": "^1.1.1",
+        "copy-concurrently": "^1.0.0",
+        "fs-write-stream-atomic": "^1.0.8",
+        "mkdirp": "^0.5.1",
+        "rimraf": "^2.5.4",
+        "run-queue": "^1.0.3"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "peer": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "rimraf": {
+          "version": "2.7.1",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+          "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+          "peer": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        }
+      }
+    },
     "ms": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
     },
     "multi-stage-sourcemap": {
       "version": "0.2.1",
@@ -24515,7 +27197,6 @@
       "version": "2.14.2",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
       "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
-      "dev": true,
       "optional": true
     },
     "nanoassert": {
@@ -24599,7 +27280,6 @@
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -24618,7 +27298,6 @@
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
           "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
           "requires": {
             "assign-symbols": "^1.0.0",
             "is-extendable": "^1.0.1"
@@ -24628,7 +27307,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -24636,8 +27314,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
-          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
-          "dev": true
+          "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         }
       }
     },
@@ -24675,8 +27352,7 @@
     "neo-async": {
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
     },
     "next-tick": {
       "version": "1.0.0",
@@ -24703,86 +27379,379 @@
           "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
           "dev": true
         },
-        "path-to-regexp": {
-          "version": "1.8.0",
-          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
-          "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+        "path-to-regexp": {
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+          "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+          "dev": true,
+          "requires": {
+            "isarray": "0.0.1"
+          }
+        }
+      }
+    },
+    "node-fetch": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
+      "dev": true
+    },
+    "node-int64": {
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
+      "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",
+      "dev": true
+    },
+    "node-libs-browser": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+      "peer": true,
+      "requires": {
+        "assert": "^1.1.1",
+        "browserify-zlib": "^0.2.0",
+        "buffer": "^4.3.0",
+        "console-browserify": "^1.1.0",
+        "constants-browserify": "^1.0.0",
+        "crypto-browserify": "^3.11.0",
+        "domain-browser": "^1.1.1",
+        "events": "^3.0.0",
+        "https-browserify": "^1.0.0",
+        "os-browserify": "^0.3.0",
+        "path-browserify": "0.0.1",
+        "process": "^0.11.10",
+        "punycode": "^1.2.4",
+        "querystring-es3": "^0.2.0",
+        "readable-stream": "^2.3.3",
+        "stream-browserify": "^2.0.1",
+        "stream-http": "^2.7.2",
+        "string_decoder": "^1.0.0",
+        "timers-browserify": "^2.0.4",
+        "tty-browserify": "0.0.0",
+        "url": "^0.11.0",
+        "util": "^0.11.0",
+        "vm-browserify": "^1.0.1"
+      },
+      "dependencies": {
+        "buffer": {
+          "version": "4.9.2",
+          "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+          "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+          "peer": true,
+          "requires": {
+            "base64-js": "^1.0.2",
+            "ieee754": "^1.1.4",
+            "isarray": "^1.0.0"
+          }
+        },
+        "inherits": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+          "peer": true
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "peer": true
+        },
+        "path-browserify": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+          "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+          "peer": true
+        },
+        "stream-browserify": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+          "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+          "peer": true,
+          "requires": {
+            "inherits": "~2.0.1",
+            "readable-stream": "^2.0.2"
+          }
+        },
+        "stream-http": {
+          "version": "2.8.3",
+          "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+          "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+          "peer": true,
+          "requires": {
+            "builtin-status-codes": "^3.0.0",
+            "inherits": "^2.0.1",
+            "readable-stream": "^2.3.6",
+            "to-arraybuffer": "^1.0.0",
+            "xtend": "^4.0.0"
+          }
+        },
+        "timers-browserify": {
+          "version": "2.0.12",
+          "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
+          "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+          "peer": true,
+          "requires": {
+            "setimmediate": "^1.0.4"
+          }
+        },
+        "tty-browserify": {
+          "version": "0.0.0",
+          "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+          "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+          "peer": true
+        },
+        "util": {
+          "version": "0.11.1",
+          "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+          "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+          "peer": true,
+          "requires": {
+            "inherits": "2.0.3"
+          }
+        }
+      }
+    },
+    "node-preload": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
+      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
+      "dev": true,
+      "requires": {
+        "process-on-spawn": "^1.0.0"
+      }
+    },
+    "node-releases": {
+      "version": "1.1.73",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+      "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
+      "dev": true
+    },
+    "nopt": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+      "dev": true,
+      "requires": {
+        "abbrev": "1"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "requires": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true
+        }
+      }
+    },
+    "normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "devOptional": true
+    },
+    "nwsapi": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+      "dev": true
+    },
+    "nyc": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
+      "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
+      "dev": true,
+      "requires": {
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "caching-transform": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "decamelize": "^1.2.0",
+        "find-cache-dir": "^3.2.0",
+        "find-up": "^4.1.0",
+        "foreground-child": "^2.0.0",
+        "get-package-type": "^0.1.0",
+        "glob": "^7.1.6",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-hook": "^3.0.0",
+        "istanbul-lib-instrument": "^4.0.0",
+        "istanbul-lib-processinfo": "^2.0.2",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^4.0.0",
+        "istanbul-reports": "^3.0.2",
+        "make-dir": "^3.0.0",
+        "node-preload": "^0.2.1",
+        "p-map": "^3.0.0",
+        "process-on-spawn": "^1.0.0",
+        "resolve-from": "^5.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "spawn-wrap": "^2.0.0",
+        "test-exclude": "^6.0.0",
+        "yargs": "^15.0.2"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+          "dev": true,
+          "requires": {
+            "color-convert": "^2.0.1"
+          }
+        },
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "cliui": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+          "dev": true,
+          "requires": {
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.0",
+            "wrap-ansi": "^6.2.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "color-name": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+          "dev": true
+        },
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+          "dev": true,
+          "requires": {
+            "semver": "^6.0.0"
+          }
+        },
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "resolve-from": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+          "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "6.2.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.0.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0"
+          }
+        },
+        "y18n": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
+          "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "15.4.1",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
+          "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
+          "dev": true,
+          "requires": {
+            "cliui": "^6.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^4.1.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^4.2.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^18.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
           "dev": true,
           "requires": {
-            "isarray": "0.0.1"
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
           }
         }
       }
     },
-    "node-fetch": {
-      "version": "2.6.1",
-      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
-      "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
-      "dev": true
-    },
-    "node-int64": {
-      "version": "0.3.3",
-      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz",
-      "integrity": "sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0=",
-      "dev": true
-    },
-    "node-releases": {
-      "version": "1.1.73",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
-      "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==",
-      "dev": true
-    },
-    "nopt": {
-      "version": "3.0.6",
-      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
-      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
-      "dev": true,
-      "requires": {
-        "abbrev": "1"
-      }
-    },
-    "normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "requires": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
-        }
-      }
-    },
-    "normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "dev": true
-    },
-    "nwsapi": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
-      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
-    },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
-      "dev": true
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
     },
     "object-copy": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -24793,7 +27762,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -24802,7 +27770,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
           "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -24811,7 +27778,6 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
           "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -24820,7 +27786,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
           "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^0.1.6",
             "is-data-descriptor": "^0.1.4",
@@ -24830,8 +27795,7 @@
             "kind-of": {
               "version": "5.1.0",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
             }
           }
         }
@@ -24853,7 +27817,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -24874,7 +27837,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -24898,7 +27860,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
-      "dev": true,
       "requires": {
         "wrappy": "1"
       }
@@ -24943,8 +27904,7 @@
     "os-browserify": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
-      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
-      "dev": true
+      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
     },
     "outpipe": {
       "version": "1.1.1",
@@ -24973,17 +27933,47 @@
         "p-limit": "^3.0.2"
       }
     },
+    "p-map": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+      "dev": true,
+      "requires": {
+        "aggregate-error": "^3.0.0"
+      }
+    },
     "p-try": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+    },
+    "package-hash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
+      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.15",
+        "hasha": "^5.0.0",
+        "lodash.flattendeep": "^4.4.0",
+        "release-zalgo": "^1.0.0"
+      }
     },
     "pako": {
       "version": "1.0.11",
       "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
-      "dev": true
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+    },
+    "parallel-transform": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
+      "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+      "peer": true,
+      "requires": {
+        "cyclist": "^1.0.1",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.1.5"
+      }
     },
     "parent-module": {
       "version": "1.0.1",
@@ -25007,7 +27997,6 @@
       "version": "5.1.6",
       "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
       "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
-      "dev": true,
       "requires": {
         "asn1.js": "^5.2.0",
         "browserify-aes": "^1.0.0",
@@ -25029,7 +28018,8 @@
     "parse5": {
       "version": "6.0.1",
       "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+      "dev": true
     },
     "parseurl": {
       "version": "1.3.3",
@@ -25040,8 +28030,7 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
     },
     "path-browserify": {
       "version": "1.0.1",
@@ -25053,7 +28042,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
       "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
+      "devOptional": true
     },
     "path-exists": {
       "version": "4.0.0",
@@ -25064,8 +28053,7 @@
     "path-is-absolute": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
-      "dev": true
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
     },
     "path-key": {
       "version": "3.1.1",
@@ -25127,7 +28115,6 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
       "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
-      "dev": true,
       "requires": {
         "create-hash": "^1.1.2",
         "create-hmac": "^1.1.4",
@@ -25146,19 +28133,17 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
       "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
-      "dev": true
+      "devOptional": true
     },
     "pify": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "dev": true
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
     },
     "pkg-dir": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
       "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
-      "dev": true,
       "requires": {
         "find-up": "^3.0.0"
       },
@@ -25167,7 +28152,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
           "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
-          "dev": true,
           "requires": {
             "locate-path": "^3.0.0"
           }
@@ -25176,7 +28160,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
           "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
-          "dev": true,
           "requires": {
             "p-locate": "^3.0.0",
             "path-exists": "^3.0.0"
@@ -25186,7 +28169,6 @@
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
           "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-          "dev": true,
           "requires": {
             "p-try": "^2.0.0"
           }
@@ -25195,7 +28177,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
           "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
-          "dev": true,
           "requires": {
             "p-limit": "^2.0.0"
           }
@@ -25203,16 +28184,14 @@
         "path-exists": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
-          "dev": true
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
         }
       }
     },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
     },
     "prelude-ls": {
       "version": "1.2.1",
@@ -25235,14 +28214,21 @@
     "process": {
       "version": "0.11.10",
       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
-      "dev": true
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
     },
     "process-nextick-args": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
-      "dev": true
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+    },
+    "process-on-spawn": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
+      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+      "dev": true,
+      "requires": {
+        "fromentries": "^1.2.0"
+      }
     },
     "progress": {
       "version": "2.0.3",
@@ -25250,6 +28236,12 @@
       "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
       "dev": true
     },
+    "promise-inflight": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+      "peer": true
+    },
     "proxy-addr": {
       "version": "2.0.7",
       "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@@ -25272,16 +28264,22 @@
       "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY=",
       "dev": true
     },
+    "prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+      "peer": true
+    },
     "psl": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
-      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+      "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+      "dev": true
     },
     "public-encrypt": {
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
       "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
-      "dev": true,
       "requires": {
         "bn.js": "^4.1.0",
         "browserify-rsa": "^4.0.0",
@@ -25294,8 +28292,7 @@
         "bn.js": {
           "version": "4.12.0",
           "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
-          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
-          "dev": true
+          "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
         }
       }
     },
@@ -25303,17 +28300,50 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "once": "^1.3.1"
       }
     },
+    "pumpify": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+      "peer": true,
+      "requires": {
+        "duplexify": "^3.6.0",
+        "inherits": "^2.0.3",
+        "pump": "^2.0.0"
+      },
+      "dependencies": {
+        "duplexify": {
+          "version": "3.7.1",
+          "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+          "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+          "peer": true,
+          "requires": {
+            "end-of-stream": "^1.0.0",
+            "inherits": "^2.0.1",
+            "readable-stream": "^2.0.0",
+            "stream-shift": "^1.0.0"
+          }
+        },
+        "pump": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+          "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+          "peer": true,
+          "requires": {
+            "end-of-stream": "^1.1.0",
+            "once": "^1.3.1"
+          }
+        }
+      }
+    },
     "punycode": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-      "dev": true
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
     },
     "puppeteer": {
       "version": "10.1.0",
@@ -25429,14 +28459,12 @@
     "querystring": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
-      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
-      "dev": true
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
     },
     "querystring-es3": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
-      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
-      "dev": true
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
     },
     "quick-lru": {
       "version": "1.1.0",
@@ -25448,7 +28476,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
       "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
       "requires": {
         "safe-buffer": "^5.1.0"
       }
@@ -25457,7 +28484,6 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
       "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
-      "dev": true,
       "requires": {
         "randombytes": "^2.0.5",
         "safe-buffer": "^5.1.0"
@@ -25572,7 +28598,6 @@
       "version": "2.3.7",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
       "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -25586,20 +28611,17 @@
         "isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
         "safe-buffer": {
           "version": "5.1.2",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-          "dev": true
+          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
         },
         "string_decoder": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
           "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "~5.1.0"
           }
@@ -25610,7 +28632,7 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
+      "devOptional": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -25645,8 +28667,7 @@
     "regenerator-runtime": {
       "version": "0.11.1",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
-      "dev": true
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
     },
     "regenerator-transform": {
       "version": "0.14.5",
@@ -25661,7 +28682,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -25671,7 +28691,6 @@
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
           "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
           "requires": {
             "assign-symbols": "^1.0.0",
             "is-extendable": "^1.0.1"
@@ -25681,7 +28700,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -25731,6 +28749,15 @@
         }
       }
     },
+    "release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+      "dev": true,
+      "requires": {
+        "es6-error": "^4.0.1"
+      }
+    },
     "remove-array-items": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/remove-array-items/-/remove-array-items-1.1.1.tgz",
@@ -25741,19 +28768,25 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
       "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
+      "devOptional": true
     },
     "repeat-element": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
-      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
-      "dev": true
+      "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ=="
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+    },
+    "repeating": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+      "requires": {
+        "is-finite": "^1.0.0"
+      }
     },
     "require-directory": {
       "version": "2.1.1",
@@ -25777,6 +28810,7 @@
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz",
       "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==",
+      "dev": true,
       "requires": {
         "lodash": "^4.17.14"
       }
@@ -25859,14 +28893,12 @@
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
     },
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
     },
     "rimraf": {
       "version": "3.0.2",
@@ -25881,23 +28913,29 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
       "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
-      "dev": true,
       "requires": {
         "hash-base": "^3.0.0",
         "inherits": "^2.0.1"
       }
     },
+    "run-queue": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+      "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+      "peer": true,
+      "requires": {
+        "aproba": "^1.1.1"
+      }
+    },
     "safe-buffer": {
       "version": "5.2.1",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
     },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -25950,10 +28988,42 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
       "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+      "dev": true,
       "requires": {
         "xmlchars": "^2.2.0"
       }
     },
+    "schema-utils": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+      "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+      "requires": {
+        "ajv": "^5.0.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "5.5.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+          "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+          "requires": {
+            "co": "^4.6.0",
+            "fast-deep-equal": "^1.0.0",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.3.0"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+          "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
+        },
+        "json-schema-traverse": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+          "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
+        }
+      }
+    },
     "scope-analyzer": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz",
@@ -26145,7 +29215,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -26153,6 +29222,12 @@
         "split-string": "^3.0.1"
       }
     },
+    "setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+      "peer": true
+    },
     "setprototypeof": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
@@ -26163,7 +29238,6 @@
       "version": "2.4.11",
       "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
       "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "safe-buffer": "^5.0.1"
@@ -26310,7 +29384,6 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -26326,7 +29399,6 @@
           "version": "2.6.9",
           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -26335,7 +29407,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -26344,7 +29415,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
           "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -26353,7 +29423,6 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
           "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -26362,7 +29431,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
           "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^0.1.6",
             "is-data-descriptor": "^0.1.4",
@@ -26372,16 +29440,14 @@
             "kind-of": {
               "version": "5.1.0",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
             }
           }
         },
         "ms": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-          "dev": true
+          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
         }
       }
     },
@@ -26389,7 +29455,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -26400,7 +29465,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -26411,22 +29475,25 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       }
     },
+    "source-list-map": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+      "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+      "peer": true
+    },
     "source-map": {
       "version": "0.5.7",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-      "dev": true
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
     },
     "source-map-resolve": {
       "version": "0.5.3",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
       "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
-      "dev": true,
       "requires": {
         "atob": "^2.1.2",
         "decode-uri-component": "^0.2.0",
@@ -26439,7 +29506,6 @@
       "version": "0.5.19",
       "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
       "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
-      "dev": true,
       "requires": {
         "buffer-from": "^1.0.0",
         "source-map": "^0.6.0"
@@ -26448,16 +29514,14 @@
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
         }
       }
     },
     "source-map-url": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz",
-      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==",
-      "dev": true
+      "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
     },
     "source-mapper": {
       "version": "2.1.0",
@@ -26470,12 +29534,37 @@
         "through2": "^2.0.0"
       }
     },
-    "sourcemap-codec": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "dev": true
-    },
+    "sourcemap-codec": {
+      "version": "1.4.8",
+      "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+      "dev": true
+    },
+    "spawn-wrap": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
+      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+      "dev": true,
+      "requires": {
+        "foreground-child": "^2.0.0",
+        "is-windows": "^1.0.2",
+        "make-dir": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "which": "^2.0.1"
+      },
+      "dependencies": {
+        "make-dir": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+          "dev": true,
+          "requires": {
+            "semver": "^6.0.0"
+          }
+        }
+      }
+    },
     "spdx-correct": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@@ -26521,7 +29610,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       },
@@ -26530,7 +29618,6 @@
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
           "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
           "requires": {
             "assign-symbols": "^1.0.0",
             "is-extendable": "^1.0.1"
@@ -26540,7 +29627,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -26595,13 +29681,22 @@
     "sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "ssri": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz",
+      "integrity": "sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==",
+      "peer": true,
+      "requires": {
+        "figgy-pudding": "^3.5.1"
+      }
     },
     "static-extend": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -26611,7 +29706,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -26620,7 +29714,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
           "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -26629,7 +29722,6 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
           "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-          "dev": true,
           "requires": {
             "kind-of": "^3.0.2"
           }
@@ -26638,7 +29730,6 @@
           "version": "0.1.6",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
           "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^0.1.6",
             "is-data-descriptor": "^0.1.4",
@@ -26648,8 +29739,7 @@
             "kind-of": {
               "version": "5.1.0",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-              "dev": true
+              "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
             }
           }
         }
@@ -26703,6 +29793,16 @@
         "readable-stream": "^2.0.2"
       }
     },
+    "stream-each": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+      "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+      "peer": true,
+      "requires": {
+        "end-of-stream": "^1.1.0",
+        "stream-shift": "^1.0.0"
+      }
+    },
     "stream-http": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
@@ -26731,8 +29831,7 @@
     "stream-shift": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
-      "dev": true
+      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
     },
     "stream-splicer": {
       "version": "2.0.1",
@@ -26748,7 +29847,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
       "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "dev": true,
       "requires": {
         "safe-buffer": "~5.2.0"
       }
@@ -26808,7 +29906,8 @@
     "strip-json-comments": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "dev": true
     },
     "subarg": {
       "version": "1.0.0",
@@ -26891,7 +29990,8 @@
     "symbol-tree": {
       "version": "3.2.4",
       "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+      "dev": true
     },
     "syntax-error": {
       "version": "1.4.0",
@@ -26939,7 +30039,14 @@
     "taffydb": {
       "version": "2.6.2",
       "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
-      "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg="
+      "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
+      "dev": true
+    },
+    "tapable": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+      "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+      "peer": true
     },
     "tar-fs": {
       "version": "2.0.0",
@@ -27051,7 +30158,6 @@
       "version": "4.8.0",
       "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
       "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
-      "dev": true,
       "requires": {
         "commander": "^2.20.0",
         "source-map": "~0.6.1",
@@ -27061,17 +30167,88 @@
         "commander": {
           "version": "2.20.3",
           "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
+          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+        }
+      }
+    },
+    "terser-webpack-plugin": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
+      "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+      "peer": true,
+      "requires": {
+        "cacache": "^12.0.2",
+        "find-cache-dir": "^2.1.0",
+        "is-wsl": "^1.1.0",
+        "schema-utils": "^1.0.0",
+        "serialize-javascript": "^4.0.0",
+        "source-map": "^0.6.1",
+        "terser": "^4.1.2",
+        "webpack-sources": "^1.4.0",
+        "worker-farm": "^1.7.0"
+      },
+      "dependencies": {
+        "find-cache-dir": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+          "peer": true,
+          "requires": {
+            "commondir": "^1.0.1",
+            "make-dir": "^2.0.0",
+            "pkg-dir": "^3.0.0"
+          }
+        },
+        "is-wsl": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+          "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+          "peer": true
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+          "peer": true,
+          "requires": {
+            "ajv": "^6.1.0",
+            "ajv-errors": "^1.0.0",
+            "ajv-keywords": "^3.1.0"
+          }
+        },
+        "serialize-javascript": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+          "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+          "peer": true,
+          "requires": {
+            "randombytes": "^2.1.0"
+          }
         },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
+          "peer": true
         }
       }
     },
+    "test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "requires": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      }
+    },
     "text-table": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -27088,7 +30265,6 @@
       "version": "2.0.5",
       "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
       "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dev": true,
       "requires": {
         "readable-stream": "~2.3.6",
         "xtend": "~4.0.1"
@@ -27134,6 +30310,12 @@
         }
       }
     },
+    "to-arraybuffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+      "peer": true
+    },
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -27144,7 +30326,6 @@
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       }
@@ -27153,7 +30334,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -27165,7 +30345,6 @@
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
           "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-          "dev": true,
           "requires": {
             "assign-symbols": "^1.0.0",
             "is-extendable": "^1.0.1"
@@ -27175,7 +30354,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -27186,7 +30364,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -27202,6 +30379,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
       "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+      "dev": true,
       "requires": {
         "psl": "^1.1.33",
         "punycode": "^2.1.1",
@@ -27211,7 +30389,8 @@
         "punycode": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+          "dev": true
         }
       }
     },
@@ -27219,6 +30398,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
       "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+      "dev": true,
       "requires": {
         "punycode": "^2.1.1"
       },
@@ -27226,7 +30406,8 @@
         "punycode": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+          "dev": true
         }
       }
     },
@@ -27259,6 +30440,11 @@
       "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
       "dev": true
     },
+    "trim-right": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+    },
     "tslib": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
@@ -27317,13 +30503,22 @@
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
-      "dev": true
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+    },
+    "typedarray-to-buffer": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+      "dev": true,
+      "requires": {
+        "is-typedarray": "^1.0.0"
+      }
     },
     "uc.micro": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
-      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
+      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+      "dev": true
     },
     "uglify-js": {
       "version": "3.14.1",
@@ -27521,7 +30716,8 @@
     "underscore": {
       "version": "1.13.1",
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
-      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g=="
+      "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==",
+      "dev": true
     },
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
@@ -27555,7 +30751,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -27563,10 +30758,29 @@
         "set-value": "^2.0.1"
       }
     },
+    "unique-filename": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+      "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+      "peer": true,
+      "requires": {
+        "unique-slug": "^2.0.0"
+      }
+    },
+    "unique-slug": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
+      "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+      "peer": true,
+      "requires": {
+        "imurmurhash": "^0.1.4"
+      }
+    },
     "universalify": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true
     },
     "unix-crypt-td-js": {
       "version": "1.1.4",
@@ -27584,7 +30798,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -27594,7 +30807,6 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -27605,7 +30817,6 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -27615,14 +30826,12 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
         },
         "isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         }
       }
     },
@@ -27630,13 +30839,12 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
       "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-      "dev": true
+      "devOptional": true
     },
     "uri-js": {
       "version": "4.4.1",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
       "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       },
@@ -27644,22 +30852,19 @@
         "punycode": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-          "dev": true
+          "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
         }
       }
     },
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
     },
     "url": {
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
       "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
-      "dev": true,
       "requires": {
         "punycode": "1.3.2",
         "querystring": "0.2.0"
@@ -27668,8 +30873,7 @@
         "punycode": {
           "version": "1.3.2",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
-          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
-          "dev": true
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
         }
       }
     },
@@ -27682,8 +30886,7 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
     },
     "util": {
       "version": "0.12.4",
@@ -27702,8 +30905,7 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "utils-merge": {
       "version": "1.0.1",
@@ -27742,13 +30944,13 @@
     "vm-browserify": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
+      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
     },
     "w3c-hr-time": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
       "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+      "dev": true,
       "requires": {
         "browser-process-hrtime": "^1.0.0"
       },
@@ -27756,7 +30958,8 @@
         "browser-process-hrtime": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
-          "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+          "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+          "dev": true
         }
       }
     },
@@ -27764,6 +30967,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
       "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+      "dev": true,
       "requires": {
         "xml-name-validator": "^3.0.0"
       }
@@ -27815,6 +31019,85 @@
         }
       }
     },
+    "watchpack": {
+      "version": "1.7.5",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
+      "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
+      "peer": true,
+      "requires": {
+        "chokidar": "^3.4.1",
+        "graceful-fs": "^4.1.2",
+        "neo-async": "^2.5.0",
+        "watchpack-chokidar2": "^2.0.1"
+      }
+    },
+    "watchpack-chokidar2": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz",
+      "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==",
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "chokidar": "^2.1.8"
+      },
+      "dependencies": {
+        "chokidar": {
+          "version": "2.1.8",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "anymatch": "^2.0.0",
+            "async-each": "^1.0.1",
+            "braces": "^2.3.2",
+            "fsevents": "^1.2.7",
+            "glob-parent": "^3.1.0",
+            "inherits": "^2.0.3",
+            "is-binary-path": "^1.0.0",
+            "is-glob": "^4.0.0",
+            "normalize-path": "^3.0.0",
+            "path-is-absolute": "^1.0.0",
+            "readdirp": "^2.2.1",
+            "upath": "^1.1.1"
+          }
+        },
+        "fsevents": {
+          "version": "1.2.13",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "bindings": "^1.5.0",
+            "nan": "^2.12.1"
+          }
+        },
+        "glob-parent": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+          "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "is-glob": "^3.1.0",
+            "path-dirname": "^1.0.0"
+          },
+          "dependencies": {
+            "is-glob": {
+              "version": "3.1.0",
+              "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+              "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+              "optional": true,
+              "peer": true,
+              "requires": {
+                "is-extglob": "^2.1.0"
+              }
+            }
+          }
+        }
+      }
+    },
     "webcrypto-core": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz",
@@ -27831,7 +31114,95 @@
     "webidl-conversions": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
-      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
+      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+      "dev": true
+    },
+    "webpack": {
+      "version": "4.46.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
+      "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+      "peer": true,
+      "requires": {
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/wasm-edit": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "acorn": "^6.4.1",
+        "ajv": "^6.10.2",
+        "ajv-keywords": "^3.4.1",
+        "chrome-trace-event": "^1.0.2",
+        "enhanced-resolve": "^4.5.0",
+        "eslint-scope": "^4.0.3",
+        "json-parse-better-errors": "^1.0.2",
+        "loader-runner": "^2.4.0",
+        "loader-utils": "^1.2.3",
+        "memory-fs": "^0.4.1",
+        "micromatch": "^3.1.10",
+        "mkdirp": "^0.5.3",
+        "neo-async": "^2.6.1",
+        "node-libs-browser": "^2.2.1",
+        "schema-utils": "^1.0.0",
+        "tapable": "^1.1.3",
+        "terser-webpack-plugin": "^1.4.3",
+        "watchpack": "^1.7.4",
+        "webpack-sources": "^1.4.1"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "6.4.2",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+          "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+          "peer": true
+        },
+        "eslint-scope": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+          "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+          "peer": true,
+          "requires": {
+            "esrecurse": "^4.1.0",
+            "estraverse": "^4.1.1"
+          }
+        },
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "peer": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "schema-utils": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+          "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+          "peer": true,
+          "requires": {
+            "ajv": "^6.1.0",
+            "ajv-errors": "^1.0.0",
+            "ajv-keywords": "^3.1.0"
+          }
+        }
+      }
+    },
+    "webpack-sources": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
+      "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+      "peer": true,
+      "requires": {
+        "source-list-map": "^2.0.0",
+        "source-map": "~0.6.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "peer": true
+        }
+      }
     },
     "websocket-driver": {
       "version": "0.7.4",
@@ -27854,6 +31225,7 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
       "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+      "dev": true,
       "requires": {
         "iconv-lite": "0.4.24"
       },
@@ -27862,6 +31234,7 @@
           "version": "0.4.24",
           "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
           "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+          "dev": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
           }
@@ -27871,12 +31244,14 @@
     "whatwg-mimetype": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+      "dev": true
     },
     "whatwg-url": {
       "version": "8.7.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
       "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+      "dev": true,
       "requires": {
         "lodash": "^4.7.0",
         "tr46": "^2.1.0",
@@ -27971,7 +31346,8 @@
     "word-wrap": {
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true
     },
     "wordwrap": {
       "version": "1.0.0",
@@ -27979,6 +31355,15 @@
       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
       "dev": true
     },
+    "worker-farm": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
+      "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+      "peer": true,
+      "requires": {
+        "errno": "~0.1.7"
+      }
+    },
     "workerpool": {
       "version": "6.1.5",
       "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
@@ -28031,35 +31416,49 @@
     "wrappy": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
-      "dev": true
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "write-file-atomic": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+      "dev": true,
+      "requires": {
+        "imurmurhash": "^0.1.4",
+        "is-typedarray": "^1.0.0",
+        "signal-exit": "^3.0.2",
+        "typedarray-to-buffer": "^3.1.5"
+      }
     },
     "ws": {
       "version": "7.5.3",
       "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
       "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
+      "dev": true,
       "requires": {}
     },
     "xml-name-validator": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+      "dev": true
     },
     "xmlchars": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+      "dev": true
     },
     "xmlcreate": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.3.tgz",
-      "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ=="
+      "integrity": "sha512-HgS+X6zAztGa9zIK3Y3LXuJes33Lz9x+YyTxgrkIdabu2vqcGOWwdfCpf1hWLRrd553wd4QCDf6BBO6FfdsRiQ==",
+      "dev": true
     },
     "xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "dev": true
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
     },
     "y18n": {
       "version": "5.0.8",
diff --git a/package.json b/package.json
index d69f2e2f6..fe67e022b 100644
--- a/package.json
+++ b/package.json
@@ -19,12 +19,15 @@
     "@jsenv/node-module-import-map": "^13.6.0",
     "@peculiar/webcrypto": "^1.1.7",
     "@web/dev-server-import-maps": "^0.0.5",
+    "babel-plugin-istanbul": "^6.0.0",
     "babel-plugin-source-map-support": "^2.1.3",
     "babel-preset-env": "^1.7.0",
     "babelify": "^10.0.0",
     "browserify": "^17.0.0",
     "btoa": "^1.2.1",
     "chai": "^4.3.4",
+    "chai-dom": "^1.9.0",
+    "clean-jsdoc-theme": "^3.2.7",
     "crypt": "^0.0.2",
     "docdash": "^1.2.0",
     "eslint": "^7.28.0",
@@ -34,10 +37,12 @@
     "get-random-values": "^1.2.2",
     "jsdoc": "^3.6.7",
     "jsdom": "^16.6.0",
+    "jsdom-global": "^3.0.2",
     "lstat": "^1.0.0",
     "mocha": "^9.0.2",
     "mocha-headless": "^8.0.0",
     "mochify": "^8.1.0",
+    "nyc": "^15.1.0",
     "process": "^0.11.10",
     "sinon": "^11.1.1",
     "supertest": "^6.1.4",
@@ -48,7 +53,6 @@
     "webcrypto-core": "^1.2.0"
   },
   "dependencies": {
-    "clean-jsdoc-theme": "^3.2.7",
-    "jsdom-global": "^3.0.2"
+    "istanbul-instrumenter-loader": "^3.0.1"
   }
 }
diff --git a/packages/monster/CHANGELOG b/packages/monster/CHANGELOG
index 29aef6787..7935ef139 100644
--- a/packages/monster/CHANGELOG
+++ b/packages/monster/CHANGELOG
@@ -2,6 +2,18 @@
 
 All notable changes to this project will be documented in this file.
 
+## [1.8.0] - 2021-08-07
+
+### Added
+
+- [new Monster.DOM.Updater](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/25)
+- [add tojson to transformer](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/27)
+
+### Changed
+
+- [the validate functions now return the validated value](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/24)
+- [introduce DOM constants](https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/26)
+
 ## [1.7.0] - 2021-08-07
 
 ### Added
diff --git a/packages/monster/README.md b/packages/monster/README.md
index e26cbcd73..a0e7f93cf 100644
--- a/packages/monster/README.md
+++ b/packages/monster/README.md
@@ -38,7 +38,7 @@ thus supports all browsers that are compatible with ES5.
     <script type="module">
       import {
         Monster
-      } from 'https://unpkg.com/@schukai/monster@1.7.0/dist/modules/monster.js';
+      } from 'https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js';
       let id = document.getElementById('version');
       id.innerHTML = Monster.getVersion();
     </script>
@@ -49,8 +49,8 @@ thus supports all browsers that are compatible with ES5.
 nomodule for backwards compatibility
 
 ```
-<script type="module" src="https://unpkg.com/@schukai/monster@1.7.0/dist/modules/monster.js"></script>
-<script nomodule src="https://unpkg.com/@schukai/monster@1.7.0/dist/monster.js"></script>
+<script type="module" src="https://unpkg.com/@schukai/monster@1.8.0/dist/modules/monster.js"></script>
+<script nomodule src="https://unpkg.com/@schukai/monster@1.8.0/dist/monster.js"></script>
 ```
 
 ### compatibility
diff --git a/packages/monster/dist/modules/constraints/abstract.js b/packages/monster/dist/modules/constraints/abstract.js
index bb05cbaff..c07ff21bd 100644
--- a/packages/monster/dist/modules/constraints/abstract.js
+++ b/packages/monster/dist/modules/constraints/abstract.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";class AbstractConstraint extends Base{constructor(){super()}isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",AbstractConstraint);export{Monster,AbstractConstraint};
diff --git a/packages/monster/dist/modules/constraints/abstractoperator.js b/packages/monster/dist/modules/constraints/abstractoperator.js
index ed4f0078f..6682d6a12 100644
--- a/packages/monster/dist/modules/constraints/abstractoperator.js
+++ b/packages/monster/dist/modules/constraints/abstractoperator.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class AbstractOperator extends AbstractConstraint{constructor(operantA,operantB){super();if(!(operantA instanceof AbstractConstraint)||!(operantB instanceof AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}this.operantA=operantA;this.operantB=operantB}}Monster.assignToNamespace("Monster.Constraints",AbstractOperator);export{Monster,AbstractOperator};
diff --git a/packages/monster/dist/modules/constraints/andoperator.js b/packages/monster/dist/modules/constraints/andoperator.js
index be58ede5f..ecb70989a 100644
--- a/packages/monster/dist/modules/constraints/andoperator.js
+++ b/packages/monster/dist/modules/constraints/andoperator.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{AbstractOperator}from"./abstractoperator.js";class AndOperator extends AbstractOperator{isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}Monster.assignToNamespace("Monster.Constraints",AndOperator);export{Monster,AndOperator};
diff --git a/packages/monster/dist/modules/constraints/invalid.js b/packages/monster/dist/modules/constraints/invalid.js
index a9ce55aec..98e918741 100644
--- a/packages/monster/dist/modules/constraints/invalid.js
+++ b/packages/monster/dist/modules/constraints/invalid.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Invalid extends AbstractConstraint{isValid(value){return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",Invalid);export{Monster,Invalid};
diff --git a/packages/monster/dist/modules/constraints/isarray.js b/packages/monster/dist/modules/constraints/isarray.js
index 802acb994..6c4f5b284 100644
--- a/packages/monster/dist/modules/constraints/isarray.js
+++ b/packages/monster/dist/modules/constraints/isarray.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isArray}from"../types/is.js";class IsArray extends AbstractConstraint{isValid(value){if(isArray(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsArray);export{Monster,IsArray};
diff --git a/packages/monster/dist/modules/constraints/isobject.js b/packages/monster/dist/modules/constraints/isobject.js
index e2f50297b..b29360dd4 100644
--- a/packages/monster/dist/modules/constraints/isobject.js
+++ b/packages/monster/dist/modules/constraints/isobject.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";import{isObject}from"../types/is.js";class IsObject extends AbstractConstraint{isValid(value){if(isObject(value)){return Promise.resolve(value)}return Promise.reject(value)}}Monster.assignToNamespace("Monster.Constraints",IsObject);export{Monster,IsObject};
diff --git a/packages/monster/dist/modules/constraints/namespace.js b/packages/monster/dist/modules/constraints/namespace.js
index d786cc209..8ab2a3bb7 100644
--- a/packages/monster/dist/modules/constraints/namespace.js
+++ b/packages/monster/dist/modules/constraints/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Constraints";
diff --git a/packages/monster/dist/modules/constraints/oroperator.js b/packages/monster/dist/modules/constraints/oroperator.js
index a6fb37c51..464f1964b 100644
--- a/packages/monster/dist/modules/constraints/oroperator.js
+++ b/packages/monster/dist/modules/constraints/oroperator.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractOperator}from"./abstractoperator.js";class OrOperator extends AbstractOperator{isValid(value){var self=this;return new Promise(function(resolve,reject){let a,b;self.operantA.isValid(value).then(function(){resolve()}).catch(function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()}).catch(function(){b=false;if(a===false){reject()}})})}}Monster.assignToNamespace("Monster.Constraints",OrOperator);export{Monster,OrOperator};
diff --git a/packages/monster/dist/modules/constraints/valid.js b/packages/monster/dist/modules/constraints/valid.js
index 49118e28d..39119f687 100644
--- a/packages/monster/dist/modules/constraints/valid.js
+++ b/packages/monster/dist/modules/constraints/valid.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,AbstractConstraint}from"./abstract.js";class Valid extends AbstractConstraint{isValid(value){return Promise.resolve(value)}}Monster.assignToNamespace("Monster.Constraints",Valid);export{Monster,Valid};
diff --git a/packages/monster/dist/modules/data/buildmap.js b/packages/monster/dist/modules/data/buildmap.js
index ae23ac724..231cb4e9f 100644
--- a/packages/monster/dist/modules/data/buildmap.js
+++ b/packages/monster/dist/modules/data/buildmap.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{isFunction}from"../types/is.js";import{validateString}from"../types/validate.js";import{Pathfinder}from"./pathfinder.js";function buildMap(subject,selector,valuePath,keyPath,filter){validateString(selector);const result=new Map;let finder=new Pathfinder(subject);let map=finder.getVia(selector);if(!(map instanceof Map)){return result}map.forEach((v,k,m)=>{if(isFunction(filter)){if(filter.call(m,v,k)!==true)return}k=build(v,keyPath,k);v=build(v,valuePath);result.set(k,v)});return result}function build(subject,definition,defaultValue){if(definition===undefined)return defaultValue?defaultValue:subject;validateString(definition);const regexp=/(?<placeholder>\$\{(?<path>[a-z.-]*)\})/gm;const array=[...definition.matchAll(regexp)];let finder=new Pathfinder(subject);if(array.length===0){return finder.getVia(definition)}array.forEach(a=>{let groups=a?.["groups"];let placeholder=groups?.["placeholder"];if(placeholder===undefined)return;let path=groups?.["path"];let v=finder.getVia(path);definition=definition.replaceAll(placeholder,v)});return definition}Monster.assignToNamespace("Monster.Data",buildMap);export{Monster,buildMap};
diff --git a/packages/monster/dist/modules/data/diff.js b/packages/monster/dist/modules/data/diff.js
index e60300853..610d9421b 100644
--- a/packages/monster/dist/modules/data/diff.js
+++ b/packages/monster/dist/modules/data/diff.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,isArray,isObject}from"../types/is.js";function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if(isArray(type)){const keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map((_,i)=>i))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){let typeA=typeof a;let typeB=typeof b;const currPath=path||[];const currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(v=>{if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{const o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){const result={operator,path};if(operator!=="add"){result.first={value:a,type:typeof a};if(isObject(a)){const name=Object.getPrototypeOf(a)?.constructor?.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:typeof b};if(isObject(b)){const name=Object.getPrototypeOf(b)?.constructor?.name;if(name!==undefined){result.second.instance=name}}}return result}function isNotEqual(a,b){if(typeof a!==typeof b){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){let operator;let typeA=typeof a;let typeB=typeof b;if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}Monster.assignToNamespace("Monster.Data",Diff);export{Monster,Diff};
diff --git a/packages/monster/dist/modules/data/namespace.js b/packages/monster/dist/modules/data/namespace.js
index 42ef97b7c..befe2ad4f 100644
--- a/packages/monster/dist/modules/data/namespace.js
+++ b/packages/monster/dist/modules/data/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Data";
diff --git a/packages/monster/dist/modules/data/pathfinder.js b/packages/monster/dist/modules/data/pathfinder.js
index 16c2dc870..9ddf6627f 100644
--- a/packages/monster/dist/modules/data/pathfinder.js
+++ b/packages/monster/dist/modules/data/pathfinder.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{isObject,isArray,isInteger}from"../types/is.js";import{validateString,validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";import{Stack}from"../types/stack.js";const DELIMITER=".";const WILDCARD="*";class Pathfinder extends Base{constructor(object){super();this.object=object;this.wildCard=WILDCARD}setWildCard(wildcard){validateString(wildcard);this.wildCard=wildcard;return this}getVia(path){validateString(path);return getValueViaPath.call(this,this.object,path)}setVia(path,value){validateString(path);setValueViaPath.call(this,this.object,path,value);return this}deleteVia(path){validateString(path);deleteValueViaPath.call(this,this.object,path);return this}exists(path){validateString(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}Monster.assignToNamespace("Monster.Data",Pathfinder);export{Monster,Pathfinder};function iterate(subject,path,check){const result=new Map;if(isObject(subject)||isArray(subject)){for(const[key,value]of Object.entries(subject)){result.set(key,getValueViaPath.call(this,value,path,check))}}else{let key=path.split(DELIMITER).shift();result.set(key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}let parts=path.split(DELIMITER);let current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if(isObject(subject)||isArray(subject)){let anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){current=parseInt(current);validateInteger(current);anchor=[...subject]?.[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(subject)){current=parseInt(current);validateInteger(current);anchor=subject?.[current]}else{anchor=subject?.[current]}if(isObject(anchor)||isArray(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+typeof subject)}function setValueViaPath(object,path,value){validateString(path);let parts=path.split(DELIMITER);let last=parts.pop();let subpath=parts.join(DELIMITER);let stack=new Stack;let current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();let obj={};if(!stack.isEmpty()){let n=stack.peek().split(DELIMITER).pop();if(isInteger(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}let anchor=getValueViaPath.call(this,object,subpath);if(!isObject(object)&&!isArray(object)){throw TypeError("unsupported type: "+typeof object)}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){const parts=path.split(DELIMITER);let last=parts.pop();const subpath=parts.join(DELIMITER);const anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor.delete(last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if(isArray(anchor)){last=parseInt(last);validateInteger(last);delete anchor[last]}else{delete anchor[last]}return}
diff --git a/packages/monster/dist/modules/data/pipe.js b/packages/monster/dist/modules/data/pipe.js
index 7990037f4..e2ebe7f1e 100644
--- a/packages/monster/dist/modules/data/pipe.js
+++ b/packages/monster/dist/modules/data/pipe.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{Transformer}from"./transformer.js";import{Base}from"../types/base.js";import{validateString}from"../types/validate.js";const DELIMITER="|";class Pipe extends Base{constructor(pipe){super();validateString(pipe);this.pipe=pipe.split(DELIMITER).map(v=>{return new Transformer(v)})}run(value){return this.pipe.reduce((accumulator,currentValue,currentIndex,array)=>{return currentValue.run(accumulator)},value)}}Monster.assignToNamespace("Monster.Data",Pipe);export{Monster,Pipe};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{Transformer}from"./transformer.js";import{Base}from"../types/base.js";import{validateFunction,validateString}from"../types/validate.js";const DELIMITER="|";class Pipe extends Base{constructor(pipe){super();validateString(pipe);this.pipe=pipe.split(DELIMITER).map(v=>{return new Transformer(v)})}setCallback(name,callback){for(const[,t]of Object.entries(this.pipe)){t.setCallback(name,callback)}return this}run(value){return this.pipe.reduce((accumulator,transformer,currentIndex,array)=>{return transformer.run(accumulator)},value)}}Monster.assignToNamespace("Monster.Data",Pipe);export{Monster,Pipe};
diff --git a/packages/monster/dist/modules/data/transformer.js b/packages/monster/dist/modules/data/transformer.js
index 4d2e81ce9..024bb8da4 100644
--- a/packages/monster/dist/modules/data/transformer.js
+++ b/packages/monster/dist/modules/data/transformer.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{validateString,validatePrimitive,validateFunction,validateInteger}from"../types/validate.js";import{isObject,isString,isArray}from"../types/is.js";import{ID}from"../types/id.js";import{clone}from"../util/clone.js";import{Pathfinder}from"./pathfinder.js";class Transformer extends Base{constructor(definition){super();validateString(definition);this.args=disassemble(definition);this.command=this.args.shift();this.callbacks=new Map}setCallback(name,callback){validateString(name);validateFunction(callback);this.callbacks.set(name,callback);return this}run(value){return transform.apply(this,[value])}}Monster.assignToNamespace("Monster.Data",Transformer);export{Monster,Transformer};function disassemble(command){validateString(command);let placeholder=new Map;const regex=/((?<pattern>\\(?<char>.)){1})/mig;let result=command.matchAll(regex);for(let m of result){let g=m?.["groups"];if(!isObject(g)){continue}let p=g?.["pattern"];let c=g?.["char"];if(p&&c){let r="__"+new ID().toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}let parts=command.split(":");parts=parts.map(function(value){let v=value.trim();for(let k of placeholder){v=v.replace(k[0],k[1])}return v});return parts}function convertToString(value){if(isObject(value)&&value.hasOwnProperty("toString")){value=value.toString()}validateString(value);return value}function transform(value){let args=clone(this.args);let key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":validateString(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":validateString(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":let n=parseInt(value);validateInteger(n);return n;case"trim":validateString(value);return value.trim();case"rawurlencode":validateString(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":let callback;let callbackName=args.shift();if(isObject(value)&&calue.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if(typeof window==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}validateFunction(callback);args.unshift(value);return callback(...args);case"plain":case"plaintext":validateString(value);let doc=new DOMParser().parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":validatePrimitive(value);let trueStatement=args.shift()||undefined;let falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}let condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":validateString(value);let firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":validateString(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if((isString(value)||isObject(value)||isArray(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":validateString(value);let prefix=args?.[0];return prefix+value;case"suffix":validateString(value);let suffix=args?.[0];return value+suffix;case"uniqid":return new ID().toString();case"key":case"property":case"index":key=args.shift()||"undefined";let defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if(isObject(value)||isArray(value)){if(value?.[key]){return value?.[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new Pathfinder(value).getVia(key);case"substring":validateString(value);let start=parseInt(args[0])||0;let end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command);}return value}
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{validateString,validatePrimitive,validateFunction,validateInteger}from"../types/validate.js";import{isObject,isString,isArray}from"../types/is.js";import{ID}from"../types/id.js";import{clone}from"../util/clone.js";import{Pathfinder}from"./pathfinder.js";class Transformer extends Base{constructor(definition){super();validateString(definition);this.args=disassemble(definition);this.command=this.args.shift();this.callbacks=new Map}setCallback(name,callback){validateString(name);validateFunction(callback);this.callbacks.set(name,callback);return this}run(value){return transform.apply(this,[value])}}Monster.assignToNamespace("Monster.Data",Transformer);export{Monster,Transformer};function disassemble(command){validateString(command);let placeholder=new Map;const regex=/((?<pattern>\\(?<char>.)){1})/mig;let result=command.matchAll(regex);for(let m of result){let g=m?.["groups"];if(!isObject(g)){continue}let p=g?.["pattern"];let c=g?.["char"];if(p&&c){let r="__"+new ID().toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}let parts=command.split(":");parts=parts.map(function(value){let v=value.trim();for(let k of placeholder){v=v.replace(k[0],k[1])}return v});return parts}function convertToString(value){if(isObject(value)&&value.hasOwnProperty("toString")){value=value.toString()}validateString(value);return value}function transform(value){let args=clone(this.args);let key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":validateString(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":validateString(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":let n=parseInt(value);validateInteger(n);return n;case"tojson":return JSON.stringify(value);case"trim":validateString(value);return value.trim();case"rawurlencode":validateString(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":let callback;let callbackName=args.shift();if(isObject(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if(typeof window==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}validateFunction(callback);args.unshift(value);return callback(...args);case"plain":case"plaintext":validateString(value);let doc=new DOMParser().parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":validatePrimitive(value);let trueStatement=args.shift()||undefined;let falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}let condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":validateString(value);let firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":validateString(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if((isString(value)||isObject(value)||isArray(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":validateString(value);let prefix=args?.[0];return prefix+value;case"suffix":validateString(value);let suffix=args?.[0];return value+suffix;case"uniqid":return new ID().toString();case"key":case"property":case"index":key=args.shift()||"undefined";let defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if(isObject(value)||isArray(value)){if(value?.[key]){return value?.[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new Pathfinder(value).getVia(key);case"substring":validateString(value);let start=parseInt(args[0])||0;let end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command);}return value}
diff --git a/packages/monster/dist/modules/dom/assembler.js b/packages/monster/dist/modules/dom/assembler.js
index a8223a757..aa26f9a1f 100644
--- a/packages/monster/dist/modules/dom/assembler.js
+++ b/packages/monster/dist/modules/dom/assembler.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,Base}from"../types/base.js";import{validateInstance,validateString}from"../types/validate.js";import{getGlobalFunction}from"../types/global.js";import{ProxyObserver}from"../types/proxyobserver.js";const ATTRIBUTEPREFIX="data-monster-";class Assembler extends Base{constructor(fragment){super();this.attributePrefix=ATTRIBUTEPREFIX;validateInstance(fragment,getGlobalFunction("DocumentFragment"));this.fragment=fragment}setAttributePrefix(prefix){validateString(prefix);this.attributePrefix=prefix;return this}getAttributePrefix(){return this.attributePrefix}createDocumentFragment(data){if(data===undefined){data=new ProxyObserver({})}validateInstance(data,ProxyObserver);let fragment=this.fragment.cloneNode(true);return fragment}}Monster.assignToNamespace("Monster.DOM",Assembler);export{Monster,ATTRIBUTEPREFIX,Assembler};
diff --git a/packages/monster/dist/modules/dom/constants.js b/packages/monster/dist/modules/dom/constants.js
new file mode 100644
index 000000000..1a95abc8d
--- /dev/null
+++ b/packages/monster/dist/modules/dom/constants.js
@@ -0,0 +1,2 @@
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";const ATTRIBUTE_PREFIX="data-monster-";const ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";const DEFAULT_THEME="monster";const ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";const ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";const ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";const ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";const ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";const ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";const ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";export{Monster,ATTRIBUTE_PREFIX,ATTRIBUTE_OPTIONS,DEFAULT_THEME,ATTRIBUTE_THEME_PREFIX,ATTRIBUTE_THEME_NAME,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_INSERT_REFERENCE,ATTRIBUTE_UPDATER_REMOVE};
diff --git a/packages/monster/dist/modules/dom/customelement.js b/packages/monster/dist/modules/dom/customelement.js
index ed33db1ee..a93adcc91 100644
--- a/packages/monster/dist/modules/dom/customelement.js
+++ b/packages/monster/dist/modules/dom/customelement.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{getGlobalObject}from"../types/global.js";import{Monster,validateFunction}from"../types/validate.js";class CustomElement extends HTMLElement{constructor(){super()}connectedCallback(){}disconnectedCallback(){}adoptedCallback(){}attributeChangedCallback(attrName,oldVal,newVal){}static getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}}function registerCustomElement(element){validateFunction(element);let tag=element.getTag();getGlobalObject("customElements").define(element.getTag(),element);return}Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement);export{Monster,registerCustomElement,CustomElement};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{ATTRIBUTE_OPTIONS}from"./constants.js";import{findDocumentTemplate}from"./template.js";import{getGlobalObject}from"../types/global.js";import{Monster,validateFunction,validateObject,validateString}from"../types/validate.js";class CustomElement extends HTMLElement{constructor(){super();this._options=Object.assign({},this.defaults,getOptionsFromAttributes.call(this));this.init()}get defaults(){return{shadowMode:"open",delegatesFocus:true}}getOption(key,defaultValue){validateString(key);let v=this._options?.[key];if(v===undefined)return defaultValue;return v}init(){initShadowRoot.call(this);return this}assemble(){return this}disassemble(){return this}connectedCallback(){this.assemble()}disconnectedCallback(){this.disassemble()}adoptedCallback(){}attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}static getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}static getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}static getCSSStyleSheet(){return new CSSStyleSheet}}function getOptionsFromAttributes(){if(this.hasAttribute(ATTRIBUTE_OPTIONS)){try{let obj=JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS));validateObject(obj);return obj}catch(e){throw new Error("the options attribute "+ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});const styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{let template=findDocumentTemplate(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){validateFunction(element);let tag=element.getTag();getGlobalObject("customElements").define(element.getTag(),element);return}Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement);export{Monster,registerCustomElement,CustomElement};
diff --git a/packages/monster/dist/modules/dom/handle.js b/packages/monster/dist/modules/dom/handle.js
index 7a1dce52e..40fab99c1 100644
--- a/packages/monster/dist/modules/dom/handle.js
+++ b/packages/monster/dist/modules/dom/handle.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,Base}from"../types/base.js";import{Stack}from"../types/stack.js";import{validateInstance}from"../types/validate.js";import{ProxyObserver}from"../types/proxyobserver.js";import{Observer}from"../types/observer.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{isInstance}from"../types/is.js";import{ATTRIBUTEPREFIX}from"./assembler.js";import{ID}from"../types/id.js";const MONSTERDOMHANDLE=Symbol("MonsterHandle");class Handle extends Base{constructor(data){super();let self=this;self.id=new ID;validateInstance(data,ProxyObserver);this.data=data;this.mutationObserver=createMutationObserver.call(this);this.dataObserver=createDataObserver.call(this);this.data.attachObserver(this.dataObserver);this.nodes=new WeakSet;this.updates=new Stack}update(){return}remove(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(ATTRIBUTEPREFIX+"handler");return this}append(node){if(isInstance(node,getGlobalFunction("Document"))){node=node.firstElementChild}validateInstance(node,getGlobalFunction("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}function createDataObserver(){const self=this;return new Observer(()=>{self.update()})}function createMutationObserver(){const self=this;const MutationObserver=getGlobalFunction("MutationObserver");return new MutationObserver((mutationsList,observer)=>{for(const mutation of mutationsList){self.updates.push(mutation)}self.update()})}function getHandleFromNode(node){validateInstance(node,getGlobalFunction("Node"));let handle=node.dataset?.[MONSTERDOMHANDLE];if(handle===undefined){let parentNode=node?.["parentNode"];if(isInstance(parentNode,getGlobalFunction("Node"))){return getHandleFromNode(parentNode)}}return handle}Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle);export{Monster,getHandleFromNode,Handle};
diff --git a/packages/monster/dist/modules/dom/namespace.js b/packages/monster/dist/modules/dom/namespace.js
index fd33937de..0c23ce43f 100644
--- a/packages/monster/dist/modules/dom/namespace.js
+++ b/packages/monster/dist/modules/dom/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.DOM";
diff --git a/packages/monster/dist/modules/dom/template.js b/packages/monster/dist/modules/dom/template.js
index 71a7af432..75ed50c9c 100644
--- a/packages/monster/dist/modules/dom/template.js
+++ b/packages/monster/dist/modules/dom/template.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalFunction,getGlobalObject}from"../types/global.js";import{validateInstance}from"../types/validate.js";import{getDocumentTheme}from"./theme.js";class Template extends Base{constructor(template){super();const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");validateInstance(template,HTMLTemplateElement);this.template=template}getTemplateElement(){return this.template}createDocumentFragment(){return this.template.content.cloneNode(true)}}function findDocumentTemplate(id){validateString(id);const document=getGlobalObject("document");const HTMLTemplateElement=getGlobalFunction("HTMLTemplateElement");let theme=getDocumentTheme();let themedID=id+"-"+theme.getName();let template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate);export{Monster,Template,findDocumentTemplate};
diff --git a/packages/monster/dist/modules/dom/theme.js b/packages/monster/dist/modules/dom/theme.js
index 1afc99d53..f7b4b66b0 100644
--- a/packages/monster/dist/modules/dom/theme.js
+++ b/packages/monster/dist/modules/dom/theme.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalObject}from"../types/global.js";const DEFAULT_THEME="monster";const THEME_ATTRIBUTE_NAME="data-monster-theme-name";class Theme extends Base{constructor(name){super();validateString(name);this.name=name}getName(){return this.name}}function getDocumentTheme(){let document=getGlobalObject("document");let name=DEFAULT_THEME;let element=document.querySelector("html");if(element instanceof HTMLElement){let theme=element.getAttribute(THEME_ATTRIBUTE_NAME);if(theme){name=theme}}return new Theme(name)}Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme);export{Monster,Theme,getDocumentTheme};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster,Base}from"../types/base.js";import{validateString}from"../types/validate.js";import{getGlobalObject}from"../types/global.js";import{ATTRIBUTE_THEME_NAME,DEFAULT_THEME}from"./constants.js";class Theme extends Base{constructor(name){super();validateString(name);this.name=name}getName(){return this.name}}function getDocumentTheme(){let document=getGlobalObject("document");let name=DEFAULT_THEME;let element=document.querySelector("html");if(element instanceof HTMLElement){let theme=element.getAttribute(ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme);export{Monster,Theme,getDocumentTheme};
diff --git a/packages/monster/dist/modules/dom/updater.js b/packages/monster/dist/modules/dom/updater.js
new file mode 100644
index 000000000..cf3f48ec6
--- /dev/null
+++ b/packages/monster/dist/modules/dom/updater.js
@@ -0,0 +1,2 @@
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Pipe}from"../data/pipe.js";import{Base,Monster}from"../types/base.js";import{isInstance,isArray}from"../types/is.js";import{Observer}from"../types/observer.js";import{ProxyObserver}from"../types/proxyobserver.js";import{validateInstance}from"../types/validate.js";import{clone}from"../util/clone.js";import{Diff}from"../data/diff.js";import{ATTRIBUTE_UPDATER_REPLACE,ATTRIBUTE_UPDATER_ATTRIBUTES,ATTRIBUTE_UPDATER_INSERT,ATTRIBUTE_UPDATER_REMOVE,ATTRIBUTE_UPDATER_INSERT_REFERENCE}from"../dom/constants.js";import{getDocument}from"./util.js";class Updater extends Base{constructor(element,subject){super();this.element=validateInstance(element,HTMLElement);if(!isInstance(subject,ProxyObserver)){subject=new ProxyObserver(subject)}this.last={};this.callbacks=new Map;this.subject=subject.attachObserver(new Observer(()=>{const s=this.subject.getRealSubject();const diff=Diff(this.last,s);this.last=clone(s);for(const[,change]of Object.entries(diff)){removeElement.call(this,change);insertElement.call(this,change);updateContent.call(this,change);updateAttributes.call(this,change)}}))}run(){this.last={};return this.subject.notifyObservers()}getSubject(){return this.subject.getSubject()}setCallback(name,callback){this.callbacks.set(name,callback);return this}}function removeElement(change){for(const[,element]of this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REMOVE+"]").entries()){element.parentNode.removeChild(element)}return this}function insertElement(change){const self=this;const subject=self.subject.getRealSubject();const document=getDocument();let mem=new WeakSet;let wd=0;while(true){let found=false;wd++;let p=clone(change?.["path"]);if(!isArray(p))return this;while(p.length>0){const current=p.join(".");const list=this.element.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_INSERT+"*=\"path:"+current+"\"]").entries();for(const[,containerElement]of list){if(mem.has(containerElement))continue;mem.add(containerElement);found=true;const attributes=containerElement.getAttribute(ATTRIBUTE_UPDATER_INSERT);let def=attributes.trim();let i=def.indexOf(" ");let key=def.substr(0,i).trim();let refPrefix=key+"-";let cmd=def.substr(i).trim();if(cmd.indexOf("|")>0){throw new Error("pipes are not allowed when cloning a node.")}let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);let dataPath=cmd.split(":").pop();let insertPoint;if(containerElement.hasChildNodes()){insertPoint=containerElement.lastChild}if(!isArray(value)){throw new Error("the value is not iterable")}let available=new Set;for(const[_i,obj]of Object.entries(value)){let ref=refPrefix+_i;let currentPath=dataPath+"."+_i;available.add(ref);let refElement=containerElement.querySelector("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"=\""+ref+"\"]");if(refElement instanceof HTMLElement){insertPoint=refElement;continue}appendNewDocumentFragment(containerElement,key,ref,currentPath)}let nodes=containerElement.querySelectorAll("["+ATTRIBUTE_UPDATER_INSERT_REFERENCE+"*=\""+refPrefix+"\"]");for(const[,node]of Object.entries(nodes)){if(!available.has(node.getAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE))){containerElement.removeChild(node)}}}p.pop()}if(found===false)break;if(wd++>200){throw new Error("the maximum depth for the recursion is reached.")};}}function appendNewDocumentFragment(container,key,ref,path){let template=getDocument().querySelector("template#"+key);if(!(template instanceof HTMLTemplateElement)){throw new Error("no template was found with the specified key "+key)}let nodes=template.content.cloneNode(true);for(const[,node]of Object.entries(nodes.childNodes)){if(node instanceof HTMLElement){node.setAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE,ref);if(node.hasAttribute(ATTRIBUTE_UPDATER_REPLACE)){let value=node.getAttribute(ATTRIBUTE_UPDATER_REPLACE);node.setAttribute(ATTRIBUTE_UPDATER_REPLACE,value.replace("path:"+key,"path:"+path))}}container.appendChild(node)}}function updateContent(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateContent.call(this,this.element,p,subject);return this}function runUpdateContent(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"path:"+current+"\"], ["+ATTRIBUTE_UPDATER_REPLACE+"^=\"static:\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_REPLACE);let cmd=attributes.trim();let pipe=new Pipe(cmd);this.callbacks.forEach((f,n)=>{pipe.setCallback(n,f)});let value=pipe.run(subject);if(value instanceof HTMLElement){while(element.firstChild){element.removeChild(element.firstChild)}element.addNode(value)}else{element.innerHTML=value}}}}function updateAttributes(change){const self=this;const subject=self.subject.getRealSubject();let p=clone(change?.["path"]);runUpdateAttributes(this.element,p,subject);return this}function runUpdateAttributes(container,parts,subject){if(!isArray(parts))return;parts=clone(parts);let mem=new WeakSet;while(parts.length>0){const current=parts.join(".");parts.pop();for(const[,element]of container.querySelectorAll(":scope ["+ATTRIBUTE_UPDATER_ATTRIBUTES+"*=\"path:"+current+"\"]").entries()){if(mem.has(element))continue;mem.add(element);const attributes=element.getAttribute(ATTRIBUTE_UPDATER_ATTRIBUTES);for(let[,def]of Object.entries(attributes.split(","))){def=def.trim();let i=def.indexOf(" ");let name=def.substr(0,i).trim();let cmd=def.substr(i).trim();let value=new Pipe(cmd).run(subject);if(element.getAttribute(name)!==value){element.setAttribute(name,value)}}}}}Monster.assignToNamespace("Monster.DOM",Updater);export{Monster,Updater};
diff --git a/packages/monster/dist/modules/dom/util.js b/packages/monster/dist/modules/dom/util.js
index f6ef9d365..513075628 100644
--- a/packages/monster/dist/modules/dom/util.js
+++ b/packages/monster/dist/modules/dom/util.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,getGlobal}from"../types/global.js";import{validateString}from"../types/validate.js";function getDocument(){let document=getGlobal()?.["document"];if(typeof document!=="object"){throw new Error("not supported environment")}return document}function getWindow(){let window=getGlobal()?.["window"];if(typeof window!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){validateString(html);const document=getDocument();const template=document.createElement("template");template.innerHTML=html;return template.content}Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString);export{Monster,getWindow,getDocument,getDocumentFragmentFromString};
diff --git a/packages/monster/dist/modules/logging/handler.js b/packages/monster/dist/modules/logging/handler.js
index e07ca88f0..8395bd26f 100644
--- a/packages/monster/dist/modules/logging/handler.js
+++ b/packages/monster/dist/modules/logging/handler.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{Base}from"../types/base.js";import{ALL,DEBUG,ERROR,FATAL,INFO,OFF,TRACE,WARN}from"./logger.js";import{LogEntry}from"./logentry.js";import{validateInstance,validateInteger}from"../types/validate.js";class Handler extends Base{constructor(){super();this.loglevel=OFF}log(entry){validateInstance(entry,LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}setLogLevel(loglevel){validateInteger(loglevel);this.loglevel=loglevel;return this}getLogLevel(){return this.loglevel}setAll(){this.setLogLevel(ALL);return this}setTrace(){this.setLogLevel(TRACE);return this}setDebug(){this.setLogLevel(DEBUG);return this}setInfo(){this.setLogLevel(INFO);return this}setWarn(){this.setLogLevel(WARN);return this}setError(){this.setLogLevel(ERROR);return this}setFatal(){this.setLogLevel(FATAL);return this}setOff(){this.setLogLevel(OFF);return this}}Monster.assignToNamespace("Monster.Logging",Handler);export{Monster,Handler};
diff --git a/packages/monster/dist/modules/logging/handler/console.js b/packages/monster/dist/modules/logging/handler/console.js
index 592d6b93d..fb74e44ab 100644
--- a/packages/monster/dist/modules/logging/handler/console.js
+++ b/packages/monster/dist/modules/logging/handler/console.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../../namespace.js";import{Base}from"../../types/base.js";import{Handler}from"../../logging/handler.js";class ConsoleHandler extends Base{constructor(){super()}}Monster.assignToNamespace("Monster.Logging",ConsoleHandler);export{Monster,Handler};
diff --git a/packages/monster/dist/modules/logging/handler/namespace.js b/packages/monster/dist/modules/logging/handler/namespace.js
index 2e82980cf..f129e0688 100644
--- a/packages/monster/dist/modules/logging/handler/namespace.js
+++ b/packages/monster/dist/modules/logging/handler/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Logging.Handler";
diff --git a/packages/monster/dist/modules/logging/logentry.js b/packages/monster/dist/modules/logging/logentry.js
index cbad8b77d..ab2d887ce 100644
--- a/packages/monster/dist/modules/logging/logentry.js
+++ b/packages/monster/dist/modules/logging/logentry.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{validateInteger}from"../types/validate.js";import{Base}from"../types/base.js";class LogEntry extends Base{constructor(loglevel,...args){super();validateInteger(loglevel);this.loglevel=loglevel;this.arguments=args}getLogLevel(){return this.loglevel}getArguments(){return this.arguments}}Monster.assignToNamespace("Monster.Logging",LogEntry);export{Monster,LogEntry};
diff --git a/packages/monster/dist/modules/logging/logger.js b/packages/monster/dist/modules/logging/logger.js
index da485982c..588c2b25b 100644
--- a/packages/monster/dist/modules/logging/logger.js
+++ b/packages/monster/dist/modules/logging/logger.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{validateInteger,validateObject,validateString}from"../types/validate.js";import{Handler}from"../logging/handler.js";import{LogEntry}from"../logging/logentry.js";import{Base}from"../types/base.js";const ALL=255;const TRACE=64;const DEBUG=32;const INFO=16;const WARN=8;const ERROR=4;const FATAL=2;const OFF=0;class Logger extends Base{constructor(){super();this.handler=new Set}addHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}removeHandler(handler){validateObject(handler);if(!(handler instanceof Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.delete(handler);return this}logTrace(){triggerLog.apply(this,[TRACE,...arguments]);return this}logDebug(){triggerLog.apply(this,[DEBUG,...arguments]);return this}logInfo(){triggerLog.apply(this,[INFO,...arguments]);return this}logWarn(){triggerLog.apply(this,[WARN,...arguments]);return this}logError(){triggerLog.apply(this,[ERROR,...arguments]);return this}logFatal(){triggerLog.apply(this,[FATAL,...arguments]);return this}getLabel(level){validateInteger(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}getLevel(label){validateString(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}Monster.assignToNamespace("Monster.Logging",Logger);export{Monster,Logger,ALL,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF};function triggerLog(loglevel,...args){var logger=this;for(let handler of logger.handler){handler.log(new LogEntry(loglevel,args))}return logger}
diff --git a/packages/monster/dist/modules/logging/namespace.js b/packages/monster/dist/modules/logging/namespace.js
index 687977b55..ff3c92274 100644
--- a/packages/monster/dist/modules/logging/namespace.js
+++ b/packages/monster/dist/modules/logging/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Logging";
diff --git a/packages/monster/dist/modules/math/namespace.js b/packages/monster/dist/modules/math/namespace.js
index dcbba0022..f2941c119 100644
--- a/packages/monster/dist/modules/math/namespace.js
+++ b/packages/monster/dist/modules/math/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Math";
diff --git a/packages/monster/dist/modules/math/random.js b/packages/monster/dist/modules/math/random.js
index c59882498..7ec931171 100644
--- a/packages/monster/dist/modules/math/random.js
+++ b/packages/monster/dist/modules/math/random.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,getGlobal}from"../types/global.js";function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1000000000;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){let crypt;let globalReference=getGlobal();crypt=globalReference?.["crypto"]||globalReference?.["msCrypto"]||globalReference?.["crypto"]||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}let rval=0;const range=max-min;if(range<2){return min}const bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}const bytesNeeded=Math.ceil(bitsNeeded/8);const mask=Math.pow(2,bitsNeeded)-1;const byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);let p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}Monster.assignToNamespace("Monster.Math",random);export{Monster,random};
diff --git a/packages/monster/dist/modules/monster.js b/packages/monster/dist/modules/monster.js
index 63cc6b46d..f021985d3 100644
--- a/packages/monster/dist/modules/monster.js
+++ b/packages/monster/dist/modules/monster.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"./namespace.js";import"./types/base.js";import"./types/global.js";import"./types/id.js";import"./types/is.js";import"./types/observer.js";import"./types/observerlist.js";import"./types/proxyobserver.js";import"./types/queue.js";import"./types/randomid.js";import"./types/stack.js";import"./types/tokenlist.js";import"./types/uniquequeue.js";import"./types/validate.js";import"./types/version.js";import"./math/random.js";import"./data/diff.js";import"./data/pathfinder.js";import"./data/pipe.js";import"./data/transformer.js";import"./logging/handler.js";import"./logging/logentry.js";import"./logging/logger.js";import"./logging/handler/console.js";import"./util/clone.js";import"./util/comparator.js";import"./util/freeze.js";import"./constraints/abstract.js";import"./constraints/abstractoperator.js";import"./constraints/andoperator.js";import"./constraints/invalid.js";import"./constraints/isarray.js";import"./constraints/isobject.js";import"./constraints/oroperator.js";import"./constraints/valid.js";import"./dom/util.js";import"./dom/template.js";import"./dom/handle.js";import"./dom/assembler.js";import"./dom/customelement.js";Monster.Util.deepFreeze(Monster);export{Monster};let rootName;try{rootName=Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";Monster.Types.getGlobal()[rootName]=Monster;
diff --git a/packages/monster/dist/modules/namespace.js b/packages/monster/dist/modules/namespace.js
index ee70c4cfe..d893c90df 100644
--- a/packages/monster/dist/modules/namespace.js
+++ b/packages/monster/dist/modules/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';class Namespace{constructor(namespace){if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}getNamespace(){return this.namespace}toString(){return this.getNamespace()}}export const Monster=new Namespace("Monster");assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns,...obj){let current=namespaceFor(ns.split("."));for(let i=0,l=obj.length;i<l;i++){current[objectName(obj[i])]=obj[i]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){let s=fn.toString();let f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}let c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(let i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}export{assignToNamespace};
diff --git a/packages/monster/dist/modules/types/base.js b/packages/monster/dist/modules/types/base.js
index 7f8faa02c..01acf7384 100644
--- a/packages/monster/dist/modules/types/base.js
+++ b/packages/monster/dist/modules/types/base.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";class Base extends Object{toString(){return JSON.stringify(this)}}Monster.assignToNamespace("Monster.Types",Base);export{Monster,Base};
diff --git a/packages/monster/dist/modules/types/global.js b/packages/monster/dist/modules/types/global.js
index 084143ddc..2949093d3 100644
--- a/packages/monster/dist/modules/types/global.js
+++ b/packages/monster/dist/modules/types/global.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{validateFunction,validateString,validateObject}from"./validate.js";var globalReference;(function(){if(typeof globalThis==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){validateString(name);let o=globalReference?.[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");validateObject(o);return o}function getGlobalFunction(name){validateString(name);let f=globalReference?.[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");validateFunction(f);return f}Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction);export{Monster,getGlobal,getGlobalObject,getGlobalFunction};
diff --git a/packages/monster/dist/modules/types/id.js b/packages/monster/dist/modules/types/id.js
index 8da922790..7b78f7a73 100644
--- a/packages/monster/dist/modules/types/id.js
+++ b/packages/monster/dist/modules/types/id.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,Base}from"./base.js";import{validateString}from"./validate.js";let internalCounter=new Map;class ID extends Base{constructor(prefix){super();if(prefix===undefined){prefix="id"}validateString(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}let count=internalCounter.get(prefix);this.id=prefix+count;internalCounter.set(prefix,++count)}toString(){return this.id}}Monster.assignToNamespace("Monster.Types",ID);export{Monster,ID};
diff --git a/packages/monster/dist/modules/types/is.js b/packages/monster/dist/modules/types/is.js
index 8b3c11103..4ed0c7c14 100644
--- a/packages/monster/dist/modules/types/is.js
+++ b/packages/monster/dist/modules/types/is.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof value?.[Symbol.iterator]==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=typeof value;if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger);export{Monster,isPrimitive,isBoolean,isString,isObject,isInstance,isArray,isFunction,isIterable,isInteger};
diff --git a/packages/monster/dist/modules/types/namespace.js b/packages/monster/dist/modules/types/namespace.js
index 4a1fdad04..4df72695f 100644
--- a/packages/monster/dist/modules/types/namespace.js
+++ b/packages/monster/dist/modules/types/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Types";
diff --git a/packages/monster/dist/modules/types/observer.js b/packages/monster/dist/modules/types/observer.js
index 7643bfe50..7ade5a513 100644
--- a/packages/monster/dist/modules/types/observer.js
+++ b/packages/monster/dist/modules/types/observer.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{TokenList}from"./tokenlist.js";import{isObject}from"./is.js";import{Base}from"./base.js";import{UniqueQueue}from"./uniquequeue.js";class Observer extends Base{constructor(callback,...args){super();if(typeof callback!=="function"){throw new Error("observer callback must be a function")}this.callback=callback;this.arguments=args;this.tags=new TokenList;this.queue=new UniqueQueue}addTag(tag){this.tags.add(tag);return this}removeTag(tag){this.tags.remove(tag);return this}getTags(){return this.tags.entries()}hasTag(tag){return this.tags.contains(tag)}update(subject){let self=this;return new Promise(function(resolve,reject){if(!isObject(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(()=>{if(self.queue.isEmpty()){resolve();return}let s=self.queue.poll();let result=self.callback.apply(s,self.arguments);if(isObject(result)&&result instanceof Promise){result.then(resolve).catch(reject);return}resolve(result)},0)})}}Monster.assignToNamespace("Monster.Types",Observer);export{Monster,Observer};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{TokenList}from"./tokenlist.js";import{isObject}from"./is.js";import{Base}from"./base.js";import{UniqueQueue}from"./uniquequeue.js";class Observer extends Base{constructor(callback,...args){super();if(typeof callback!=="function"){throw new Error("observer callback must be a function")}this.callback=callback;this.arguments=args;this.tags=new TokenList;this.queue=new UniqueQueue}addTag(tag){this.tags.add(tag);return this}removeTag(tag){this.tags.remove(tag);return this}getTags(){return this.tags.entries()}hasTag(tag){return this.tags.contains(tag)}update(subject){let self=this;return new Promise(function(resolve,reject){if(!isObject(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(()=>{try{if(self.queue.isEmpty()){resolve();return}let s=self.queue.poll();let result=self.callback.apply(s,self.arguments);if(isObject(result)&&result instanceof Promise){result.then(resolve).catch(reject);return}resolve(result)}catch(e){reject(e)}},0)})}}Monster.assignToNamespace("Monster.Types",Observer);export{Monster,Observer};
diff --git a/packages/monster/dist/modules/types/observerlist.js b/packages/monster/dist/modules/types/observerlist.js
index 8a98482d7..7af101e47 100644
--- a/packages/monster/dist/modules/types/observerlist.js
+++ b/packages/monster/dist/modules/types/observerlist.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{Observer}from"./observer.js";import{validateInstance}from"./validate.js";class ObserverList extends Base{constructor(){super();this.observers=[]}attach(observer){validateInstance(observer,Observer);this.observers.push(observer);return this}detach(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}contains(observer){validateInstance(observer,Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}notify(subject){let pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}Monster.assignToNamespace("Monster.Types",ObserverList);export{Monster,ObserverList};
diff --git a/packages/monster/dist/modules/types/proxyobserver.js b/packages/monster/dist/modules/types/proxyobserver.js
index 9c1311d9b..a24f2904a 100644
--- a/packages/monster/dist/modules/types/proxyobserver.js
+++ b/packages/monster/dist/modules/types/proxyobserver.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{validateObject}from"./validate.js";import{ObserverList}from"./observerlist.js";import{Observer}from"./observer.js";import{isObject,isArray,isPrimitive}from"./is.js";class ProxyObserver extends Base{constructor(object){super();validateObject(object);this.realSubject=object;this.subject=new Proxy(object,getHandler.call(this));this.objectMap=new WeakMap;this.objectMap.set(this.realSubject,this.subject);this.observers=new ObserverList}getSubject(){return this.subject}getRealSubject(){return this.realSubject}attachObserver(observer){this.observers.attach(observer);return this}detachObserver(observer){this.observers.detach(observer);return this}notifyObservers(){this.observers.notify(this);return this}containsObserver(observer){return this.observers.contains(observer)}}Monster.assignToNamespace("Monster.Types",ProxyObserver);export{Monster,ProxyObserver};function getHandler(){const proxy=this;const handler={get:function(target,key,receiver){const value=Reflect.get(target,key,receiver);if(typeof key==="symbol"){return value}if(isPrimitive(value)){return value}if(isArray(value)||isObject(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{let p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function(target,key,value,receiver){const result=Reflect.set(target,key,value,receiver);if(typeof property!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function(target,key){if(key in target){delete target[key];if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function(target,key,descriptor){let result=Reflect.defineProperty(target,key,descriptor);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function(target,key){let result=Reflect.setPrototypeOf(object1,key);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{validateObject}from"./validate.js";import{ObserverList}from"./observerlist.js";import{Observer}from"./observer.js";import{isObject,isArray,isPrimitive}from"./is.js";class ProxyObserver extends Base{constructor(object){super();validateObject(object);this.realSubject=object;this.subject=new Proxy(object,getHandler.call(this));this.objectMap=new WeakMap;this.objectMap.set(this.realSubject,this.subject);this.observers=new ObserverList}getSubject(){return this.subject}getRealSubject(){return this.realSubject}attachObserver(observer){this.observers.attach(observer);return this}detachObserver(observer){this.observers.detach(observer);return this}notifyObservers(){return this.observers.notify(this)}containsObserver(observer){return this.observers.contains(observer)}}Monster.assignToNamespace("Monster.Types",ProxyObserver);export{Monster,ProxyObserver};function getHandler(){const proxy=this;const handler={get:function(target,key,receiver){const value=Reflect.get(target,key,receiver);if(typeof key==="symbol"){return value}if(isPrimitive(value)){return value}if(isArray(value)||isObject(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{let p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function(target,key,value,receiver){const result=Reflect.set(target,key,value,receiver);if(typeof property!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function(target,key){if(key in target){delete target[key];if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function(target,key,descriptor){let result=Reflect.defineProperty(target,key,descriptor);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function(target,key){let result=Reflect.setPrototypeOf(object1,key);if(typeof key!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}
diff --git a/packages/monster/dist/modules/types/queue.js b/packages/monster/dist/modules/types/queue.js
index 43b4a74d4..0fa25c496 100644
--- a/packages/monster/dist/modules/types/queue.js
+++ b/packages/monster/dist/modules/types/queue.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 import{Monster,Base}from"./base.js";class Queue extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data[0]}add(value){this.data.push(value);return this}clear(){this.data=[];return this}poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}Monster.assignToNamespace("Monster.Types",Queue);export{Monster,Queue};
diff --git a/packages/monster/dist/modules/types/randomid.js b/packages/monster/dist/modules/types/randomid.js
index 9469adfb7..dd06cd890 100644
--- a/packages/monster/dist/modules/types/randomid.js
+++ b/packages/monster/dist/modules/types/randomid.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,ID}from"./id.js";import{getGlobal}from"./global.js";import{random}from"../math/random.js";let internalCounter=0;class RandomID extends ID{constructor(){super();internalCounter+=1;this.id=getGlobal().btoa(random(1,10000)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter}}Monster.assignToNamespace("Monster.Types",RandomID);export{Monster,RandomID};
diff --git a/packages/monster/dist/modules/types/stack.js b/packages/monster/dist/modules/types/stack.js
index 904c3449c..9462c459f 100644
--- a/packages/monster/dist/modules/types/stack.js
+++ b/packages/monster/dist/modules/types/stack.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 import{Monster,Base}from"./base.js";class Stack extends Base{constructor(){super();this.data=[]}isEmpty(){return this.data.length===0}peek(){if(this.isEmpty()){return undefined}return this.data?.[this.data.length-1]}push(value){this.data.push(value);return this}clear(){this.data=[];return this}pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}Monster.assignToNamespace("Monster.Types",Stack);export{Monster,Stack};
diff --git a/packages/monster/dist/modules/types/tokenlist.js b/packages/monster/dist/modules/types/tokenlist.js
index f2ed1b0df..193779eb7 100644
--- a/packages/monster/dist/modules/types/tokenlist.js
+++ b/packages/monster/dist/modules/types/tokenlist.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";import{isString,isIterable}from"../types/is.js";import{validateString,validateFunction}from"../types/validate.js";class TokenList extends Base{constructor(init){super();this.tokens=new Set;if(typeof init!=="undefined"){this.add(init)}}getIterator(){return this[Symbol.iterator]()}[Symbol.iterator](){let index=0;let entries=this.entries();return{next:()=>{if(index<entries.length){return{value:entries?.[index++],done:false}}else{return{done:true}}}}}contains(value){if(isString(value)){value=value.trim();let counter=0;value.split(" ").forEach(token=>{if(this.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if(isIterable(value)){let counter=0;for(let token of value){validateString(token);if(this.tokens.has(token.trim())===false)return false;counter++}return counter>0?true:false}return false}add(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.add(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.add(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}clear(){this.tokens.clear();return this}remove(value){if(isString(value)){value.split(" ").forEach(token=>{this.tokens.delete(token.trim())})}else if(isIterable(value)){for(let token of value){validateString(token);this.tokens.delete(token.trim())}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}replace(token,newToken){validateString(token);validateString(newToken);if(!this.contains(token)){return this}let a=Array.from(this.tokens);let i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}toggle(value){if(isString(value)){value.split(" ").forEach(token=>{toggleValue.call(this,token)})}else if(isIterable(value)){for(let token of value){toggleValue.call(this,token)}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}entries(){return Array.from(this.tokens)}forEach(callback){validateFunction(callback);this.tokens.forEach(callback);return this}toString(){return this.entries().join(" ")}}function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");validateString(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}Monster.assignToNamespace("Monster.Types",TokenList);export{Monster,TokenList};
diff --git a/packages/monster/dist/modules/types/typeof.js b/packages/monster/dist/modules/types/typeof.js
index 002ea9343..3fb3024c5 100644
--- a/packages/monster/dist/modules/types/typeof.js
+++ b/packages/monster/dist/modules/types/typeof.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";function typeOf(value){let type={}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];if("Object"===type){const results=/^(class|function)\s+(\w+)/.exec(value.constructor.toString());type=results&&results.length>2?results[2]:""}return type.toLowerCase()}Monster.assignToNamespace("Monster.Types",typeOf);export{Monster,typeOf};
diff --git a/packages/monster/dist/modules/types/uniquequeue.js b/packages/monster/dist/modules/types/uniquequeue.js
index 95b12757f..50815263d 100644
--- a/packages/monster/dist/modules/types/uniquequeue.js
+++ b/packages/monster/dist/modules/types/uniquequeue.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 import{Monster,Queue}from"./queue.js";import{validateObject}from"./validate.js";class UniqueQueue extends Queue{constructor(){super();this.unique=new WeakSet}add(value){validateObject(value);if(!this.unique.has(value)){this.unique.add(value);super.add(value)}return this}clear(){super.clear();this.unique=new WeakSet;return this}poll(){if(this.isEmpty()){return undefined}let value=this.data.shift();this.unique.delete(value);return value}}Monster.assignToNamespace("Monster.Types",UniqueQueue);export{Monster,UniqueQueue};
diff --git a/packages/monster/dist/modules/types/validate.js b/packages/monster/dist/modules/types/validate.js
index d304259c3..a69741c48 100644
--- a/packages/monster/dist/modules/types/validate.js
+++ b/packages/monster/dist/modules/types/validate.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInstance,isInteger}from"./is.js";function validateIterable(value){if(!isIterable(value)){throw new TypeError("value is not iterable")}}function validatePrimitive(value){if(!isPrimitive(value)){throw new TypeError("value is not a primitive")}}function validateBoolean(value){if(!isBoolean(value)){throw new TypeError("value is not a boolean")}}function validateString(value){if(!isString(value)){throw new TypeError("value is not a string")}}function validateObject(value){if(!isObject(value)){throw new TypeError("value is not a object")}}function validateInstance(value,instance){if(!isInstance(value,instance)){let n="";if(isObject(instance)||isFunction(instance)){n=instance?.["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}}function validateArray(value){if(!isArray(value)){throw new TypeError("value is not an array")}}function validateFunction(value){if(!isFunction(value)){throw new TypeError("value is not a function")}}function validateInteger(value){if(!isInteger(value)){throw new TypeError("value is not an integer")}}Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger);export{Monster,validatePrimitive,validateBoolean,validateString,validateObject,validateInstance,validateArray,validateFunction,validateIterable,validateInteger};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInstance,isInteger}from"./is.js";function validateIterable(value){if(!isIterable(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!isPrimitive(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!isBoolean(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!isString(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!isObject(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!isInstance(value,instance)){let n="";if(isObject(instance)||isFunction(instance)){n=instance?.["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!isArray(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!isFunction(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!isInteger(value)){throw new TypeError("value is not an integer")}return value}Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger);export{Monster,validatePrimitive,validateBoolean,validateString,validateObject,validateInstance,validateArray,validateFunction,validateIterable,validateInteger};
diff --git a/packages/monster/dist/modules/types/version.js b/packages/monster/dist/modules/types/version.js
index 66e62fcd1..0569fe0d6 100644
--- a/packages/monster/dist/modules/types/version.js
+++ b/packages/monster/dist/modules/types/version.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.7.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion};
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+'use strict';import{Monster}from"../namespace.js";import{Base}from"./base.js";class Version extends Base{constructor(major,minor,patch){super();if(typeof major==="string"&&minor===undefined&&patch===undefined){let parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}this.major=parseInt(major);this.minor=parseInt(minor);this.patch=parseInt(patch);if(isNaN(this.major)){throw new Error("major is not a number")}if(isNaN(this.minor)){throw new Error("minor is not a number")}if(isNaN(this.patch)){throw new Error("patch is not a number")}}toString(){return this.major+"."+this.minor+"."+this.patch}compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}let a=[this.major,this.minor,this.patch];let b=version.split(".");let len=Math.max(a.length,b.length);for(let i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}Monster.assignToNamespace("Monster.Types",Version);let monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}Monster.assignToNamespace("Monster",getVersion);export{Monster,Version,getVersion};
diff --git a/packages/monster/dist/modules/util/clone.js b/packages/monster/dist/modules/util/clone.js
index bf5340bce..07a61c3a8 100644
--- a/packages/monster/dist/modules/util/clone.js
+++ b/packages/monster/dist/modules/util/clone.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{isObject,isFunction,isPrimitive,isArray}from"../types/is.js";import{getGlobal}from"../types/global.js";function clone(obj){if(null===obj){return obj}if(isPrimitive(obj)){return obj}if(isFunction(obj)){return obj}if(isArray(obj)){let copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if(isObject(obj)){if(obj instanceof Date){let copy=new Date;copy.setTime(obj.getTime());return copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===getGlobal())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(typeof obj.hasOwnProperty("getClone")&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(let key in obj){if(!obj.hasOwnProperty(key)){continue}if(Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}Monster.assignToNamespace("Monster.Util",clone);export{Monster,clone};
diff --git a/packages/monster/dist/modules/util/comparator.js b/packages/monster/dist/modules/util/comparator.js
index ab226bc6a..0d7bb212f 100644
--- a/packages/monster/dist/modules/util/comparator.js
+++ b/packages/monster/dist/modules/util/comparator.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster,Base}from"../types/base.js";import{isFunction}from"../types/is.js";class Comparator extends Base{constructor(callback){super();if(isFunction(callback)){this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{this.compare=function(a,b){if(typeof a!==typeof b){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}}reverse(){const original=this.compare;this.compare=(a,b)=>original(b,a);return this}equal(a,b){return this.compare(a,b)===0}greaterThan(a,b){return this.compare(a,b)>0}greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}lessThan(a,b){return this.compare(a,b)<0}}Monster.assignToNamespace("Monster.Util",Comparator);export{Monster,Comparator};
diff --git a/packages/monster/dist/modules/util/freeze.js b/packages/monster/dist/modules/util/freeze.js
index 5c9a032ea..a8c5d68aa 100644
--- a/packages/monster/dist/modules/util/freeze.js
+++ b/packages/monster/dist/modules/util/freeze.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';import{Monster}from"../namespace.js";import{validateObject}from"../types/validate.js";function deepFreeze(object){validateObject(object);var propNames=Object.getOwnPropertyNames(object);for(let name of propNames){let value=object[name];object[name]=value&&typeof value==="object"?deepFreeze(value):value}return Object.freeze(object)}Monster.assignToNamespace("Monster.Util",deepFreeze);export{Monster,deepFreeze};
diff --git a/packages/monster/dist/modules/util/namespace.js b/packages/monster/dist/modules/util/namespace.js
index d831f7a15..6772720b2 100644
--- a/packages/monster/dist/modules/util/namespace.js
+++ b/packages/monster/dist/modules/util/namespace.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
 'use strict';const namespace="Monster.Util";
diff --git a/packages/monster/dist/monster.dev.js b/packages/monster/dist/monster.dev.js
index 5b2478a26..601c47fd4 100644
--- a/packages/monster/dist/monster.dev.js
+++ b/packages/monster/dist/monster.dev.js
@@ -85,7 +85,7 @@ exports.AbstractConstraint = AbstractConstraint;
 
 _namespace.Monster.assignToNamespace('Monster.Constraints', AbstractConstraint);
 
-},{"../namespace.js":25,"../types/base.js":26}],2:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -211,7 +211,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  * new Monster.Constraint.AndOperator();
  * </script>
  * ```
@@ -220,16 +220,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  * new AndOperator();
  * </script>
  * ```
  * 
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  *
  * new AndOperator(
  * new Valid(), new Valid()).isValid()
@@ -327,7 +327,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  * new Monster.Constraint.Invalid();
  * </script>
  * ```
@@ -336,14 +336,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  * new Invalid();
  * </script>
  * ```
  *
  * @example
  *
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  *
  * new Invalid().isValid()
  * .then(()=>console.log(true))
@@ -434,7 +434,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new Monster.Constraint.IsArray())
  * </script>
  * ```
@@ -443,14 +443,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new IsArray())
  * </script>
  * ```
  * 
  * @example
  *
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  *
  * new IsArray()
  * .isValid([])
@@ -502,7 +502,7 @@ exports.IsArray = IsArray;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', IsArray);
 
-},{"../types/is.js":29,"./abstract.js":1}],6:[function(require,module,exports){
+},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -550,7 +550,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new Monster.Constraint.IsObject())
  * </script>
  * ```
@@ -559,14 +559,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new IsObject())
  * </script>
  * ```
  * 
  * @example
  *
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  *
  * new IsObject()
  * .isValid({})
@@ -619,7 +619,7 @@ exports.IsObject = IsObject;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', IsObject);
 
-},{"../types/is.js":29,"./abstract.js":1}],7:[function(require,module,exports){
+},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -665,7 +665,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
  * new Monster.Constraint.OrOperator();
  * </script>
  * ```
@@ -674,16 +674,16 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
  * new OrOperator();
  * </script>
  * ```
  *
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';
  *
  * new OrOperator(
  * new Valid(), new Invalid()).isValid()
@@ -804,7 +804,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  * new Monster.Constraint.Valid();
  * </script>
  * ```
@@ -813,14 +813,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  * new Valid();
  * </script>
  * ```
  * 
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  *
  * new Valid().isValid()
  * .then(()=>console.log(true))
@@ -893,7 +893,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Monster.Data.Diff(a, b))
  * </script>
  * ```
@@ -902,14 +902,14 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Diff(a, b))
  * </script>
  * ```
  *
  * @example
  * 
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * 
  * // given are two objects x and y.
  *
@@ -1128,7 +1128,7 @@ function getOperator(a, b) {
 
 _is.Monster.assignToNamespace('Monster.Data', Diff);
 
-},{"../types/is.js":29}],10:[function(require,module,exports){
+},{"../types/is.js":30}],10:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -1215,7 +1215,7 @@ var WILDCARD = '*';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Monster.Data.Pathfinder())
  * </script>
  * ```
@@ -1224,7 +1224,7 @@ var WILDCARD = '*';
  *
  * ```
  * <script type="module">
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Pathfinder())
  * </script>
  * ```
@@ -1266,7 +1266,7 @@ var WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  *
  * let value = new Pathfinder({
  * a: {
@@ -1292,7 +1292,7 @@ var WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  *
  * let p = new Pathfinder({
  *                a: {
@@ -1638,7 +1638,7 @@ function deleteValueViaPath(object, path) {
   return;
 }
 
-},{"../namespace.js":25,"../types/base.js":26,"../types/is.js":29,"../types/stack.js":35,"../types/validate.js":38}],11:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -1665,6 +1665,18 @@ var _base = require("../types/base.js");
 
 var _validate = require("../types/validate.js");
 
+function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
+
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
+
+function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
+
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -1693,7 +1705,7 @@ var DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Monster.Data.Pipe())
  * </script>
  * ```
@@ -1702,7 +1714,7 @@ var DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Pipe())
  * </script>
  * ```
@@ -1713,7 +1725,7 @@ var DELIMITER = '|';
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
  *
  * @example
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * 
  * let obj = {
  *    a: {
@@ -1756,18 +1768,41 @@ var Pipe = /*#__PURE__*/function (_Base) {
     return _this;
   }
   /**
-   * run a pipe
    *
-   * @param {*} value
-   * @returns {*}
+   * @param {string} name
+   * @param {function} callback
+   * @returns {Transformer}
+   * @throws {TypeError} value is not a string
+   * @throws {TypeError} value is not a function
    */
 
 
   _createClass(Pipe, [{
+    key: "setCallback",
+    value: function setCallback(name, callback) {
+      for (var _i = 0, _Object$entries = Object.entries(this.pipe); _i < _Object$entries.length; _i++) {
+        var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
+            t = _Object$entries$_i[1];
+
+        t.setCallback(name, callback);
+      }
+
+      return this; // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {
+      //     return transformer.setCallback(name,callback);
+      // }, value);
+    }
+    /**
+     * run a pipe
+     *
+     * @param {*} value
+     * @returns {*}
+     */
+
+  }, {
     key: "run",
     value: function run(value) {
-      return this.pipe.reduce(function (accumulator, currentValue, currentIndex, array) {
-        return currentValue.run(accumulator);
+      return this.pipe.reduce(function (accumulator, transformer, currentIndex, array) {
+        return transformer.run(accumulator);
       }, value);
     }
   }]);
@@ -1779,7 +1814,7 @@ exports.Pipe = Pipe;
 
 _namespace.Monster.assignToNamespace('Monster.Data', Pipe);
 
-},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./transformer.js":12}],12:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -1855,7 +1890,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Monster.Data.Transformer())
  * </script>
  * ```
@@ -1864,7 +1899,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Transformer())
  * </script>
  * ```
@@ -1896,6 +1931,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |
  *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |
  *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |
+ *  | tojson       |                            |                         | Type conversion to an JSON string (since 1.8.0)                                                                                                                                                                                                                                                                                                            |
  *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |
  *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |
  *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |
@@ -1940,7 +1976,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  * 
  * @example
  * 
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * 
  * const transformer = new Transformer("tolower")
  * 
@@ -2140,6 +2176,9 @@ function transform(value) {
       (0, _validate.validateInteger)(n);
       return n;
 
+    case 'tojson':
+      return JSON.stringify(value);
+
     case 'trim':
       (0, _validate.validateString)(value);
       return value.trim();
@@ -2158,7 +2197,7 @@ function transform(value) {
       var callback;
       var callbackName = args.shift();
 
-      if ((0, _is.isObject)(value) && calue.hasOwnProperty(callbackName)) {
+      if ((0, _is.isObject)(value) && value.hasOwnProperty(callbackName)) {
         callback = value[callbackName];
       } else if (this.callbacks.has(callbackName)) {
         callback = this.callbacks.get(callbackName);
@@ -2287,7 +2326,7 @@ function transform(value) {
   return value;
 }
 
-},{"../namespace.js":25,"../types/base.js":26,"../types/id.js":28,"../types/is.js":29,"../types/validate.js":38,"../util/clone.js":40,"./pathfinder.js":10}],13:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -2346,7 +2385,7 @@ var ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Monster.DOM.Assembler())
  * </script>
  * ```
@@ -2355,7 +2394,7 @@ var ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Assembler())
  * </script>
  * ```
@@ -2441,7 +2480,106 @@ exports.Assembler = Assembler;
 
 _base.Monster.assignToNamespace('Monster.DOM', Assembler);
 
-},{"../types/base.js":26,"../types/global.js":27,"../types/proxyobserver.js":32,"../types/validate.js":38}],14:[function(require,module,exports){
+},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _namespace.Monster;
+  }
+});
+exports.ATTRIBUTE_UPDATER_REMOVE = exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = exports.ATTRIBUTE_UPDATER_INSERT = exports.ATTRIBUTE_UPDATER_REPLACE = exports.ATTRIBUTE_UPDATER_ATTRIBUTES = exports.ATTRIBUTE_THEME_NAME = exports.ATTRIBUTE_THEME_PREFIX = exports.DEFAULT_THEME = exports.ATTRIBUTE_OPTIONS = exports.ATTRIBUTE_PREFIX = void 0;
+
+var _namespace = require("../namespace.js");
+
+/**
+ * @author schukai GmbH
+ */
+
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+var ATTRIBUTE_PREFIX = 'data-monster-';
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_PREFIX = ATTRIBUTE_PREFIX;
+var ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
+/**
+ * default theme
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_OPTIONS = ATTRIBUTE_OPTIONS;
+var DEFAULT_THEME = 'monster';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.DEFAULT_THEME = DEFAULT_THEME;
+var ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_THEME_PREFIX;
+var ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_NAME;
+var ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_UPDATER_ATTRIBUTES;
+var ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_UPDATER_REPLACE;
+var ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_UPDATER_INSERT;
+var ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_UPDATER_INSERT_REFERENCE;
+var ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
+exports.ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_UPDATER_REMOVE;
+
+},{"../namespace.js":26}],15:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -2461,6 +2599,10 @@ Object.defineProperty(exports, "Monster", {
 });
 exports.CustomElement = void 0;
 
+var _constants = require("./constants.js");
+
+var _template = require("./template.js");
+
 var _global = require("../types/global.js");
 
 var _validate = require("../types/validate.js");
@@ -2501,7 +2643,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new Monster.DOM.CustomElement())
  * </script>
  * ```
@@ -2510,7 +2652,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new CustomElement())
  * </script>
  * ```
@@ -2533,21 +2675,26 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  * </style>
  * ```
  *
+ *
+ *
  * @example
  *
+ * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.
+ * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.
+ *
  * class MonsterMyElement extends CustomElement {
+ * 
  *    constructor() {
  *        super();
- *
- *        this.template = `<div class="form-check">
+ *    }
+ *    
+ *    getTemplate() {
+ *        return `<div class="form-check">
  *                           <label class="form-check-label">
  *                               <input class="form-check-input" type="checkbox" value="">
  *                               Checkvalue
  *                           </label>
  *                         </div>`
- *
- *        this.attachShadow({mode: 'open'});
- *        this.shadowRoot.innerHTML = this.template;
  *    }
  *
  *    static getTag() {
@@ -2570,24 +2717,118 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
   var _super = _createSuper(CustomElement);
 
   /**
+   * A new object is created. First the `initOptions` method is called. Here the
+   * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.
    *
+   * @throws {Error} the options attribute does not contain a valid json definition.
    */
   function CustomElement() {
+    var _this;
+
     _classCallCheck(this, CustomElement);
 
-    return _super.call(this);
+    _this = _super.call(this);
+    _this._options = Object.assign({}, _this.defaults, getOptionsFromAttributes.call(_assertThisInitialized(_this)));
+
+    _this.init();
+
+    return _this;
   }
   /**
-   * Called every time the element is inserted into the DOM. Useful for running setup code, such as
-   * fetching resources or rendering. Generally, you should try to delay work until this time.
+   * | option         | description                                                                                                                                                                                                                                                                |
+   * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+   * | shadowMode     | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it                                                                             |
+   * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |
    *
-   * @return {void}
+   * Derived classes can override and extend this method as follows.
+   *
+   * ```
+   * get defaults() {
+   *    return Object.assign({}, super.defaults, {
+   *        myValue:true
+   *    });
+   * }
+   * ```
+   *
+   * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+   * @return {{shadowMode: string, delegatesFocus: boolean}}
+   * @since 1.8.0
    */
 
 
   _createClass(CustomElement, [{
+    key: "defaults",
+    get: function get() {
+      return {
+        shadowMode: 'open',
+        delegatesFocus: true
+      };
+    }
+    /**
+     *
+     * @param {string} key
+     * @param [*} defaultValue
+     * @return {*}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "getOption",
+    value: function getOption(key, defaultValue) {
+      var _this$_options;
+
+      (0, _validate.validateString)(key);
+      var v = (_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options[key];
+      if (v === undefined) return defaultValue;
+      return v;
+    }
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "init",
+    value: function init() {
+      initShadowRoot.call(this);
+      return this;
+    }
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "assemble",
+    value: function assemble() {
+      return this;
+    }
+    /**
+     *
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "disassemble",
+    value: function disassemble() {
+      return this;
+    }
+    /**
+     * Called every time the element is inserted into the DOM. Useful for running setup code, such as
+     * fetching resources or rendering. Generally, you should try to delay work until this time.
+     *
+     * @return {void}
+     */
+
+  }, {
     key: "connectedCallback",
-    value: function connectedCallback() {}
+    value: function connectedCallback() {
+      this.assemble();
+    }
     /**
      * Called every time the element is removed from the DOM. Useful for running clean up code.
      *
@@ -2596,7 +2837,9 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
 
   }, {
     key: "disconnectedCallback",
-    value: function disconnectedCallback() {}
+    value: function disconnectedCallback() {
+      this.disassemble();
+    }
     /**
      * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).
      *
@@ -2618,9 +2861,24 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
 
   }, {
     key: "attributeChangedCallback",
-    value: function attributeChangedCallback(attrName, oldVal, newVal) {}
+    value: function attributeChangedCallback(attrName, oldVal, newVal) {
+      this.assemble();
+    }
     /**
-     * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
+     * This method defines the default template if no template with the id is found in the dom.
+     *
+     * @since 1.8.0
+     * @return {string}
+     * @throws {Error} the method getTemplate must be overwritten by the derived class.
+     */
+
+  }], [{
+    key: "getTemplate",
+    value: function getTemplate() {
+      throw new Error("the method getTemplate must be overwritten by the derived class.");
+    }
+    /**
+     * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
      * if the name is not valid, registerCustomElement() will issue an erro
      *
      * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
@@ -2628,15 +2886,76 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
      * @throws {Error} the method getTag must be overwritten by the derived class.
      */
 
-  }], [{
+  }, {
     key: "getTag",
     value: function getTag() {
       throw new Error("the method getTag must be overwritten by the derived class.");
     }
+    /**
+     *
+     * @return {CSSStyleSheet}
+     */
+
+  }, {
+    key: "getCSSStyleSheet",
+    value: function getCSSStyleSheet() {
+      return new CSSStyleSheet();
+    }
   }]);
 
   return CustomElement;
 }( /*#__PURE__*/_wrapNativeSuper(HTMLElement));
+/**
+ * @private
+ * @return {object}
+ * @throws {Error} the options attribute does not contain a valid json definition.
+ */
+
+
+exports.CustomElement = CustomElement;
+
+function getOptionsFromAttributes() {
+  if (this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)) {
+    try {
+      var obj = JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));
+      (0, _validate.validateObject)(obj);
+      return obj;
+    } catch (e) {
+      throw new Error('the options attribute ' + _constants.ATTRIBUTE_OPTIONS + ' does not contain a valid json definition (actual: ' + this.getAttribute(_constants.ATTRIBUTE_OPTIONS) + ').');
+    }
+  }
+
+  return {};
+}
+/**
+ * @private
+ * @return {CustomElement}
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+ * @memberOf CustomElement
+ * @since 1.8.0
+ */
+
+
+function initShadowRoot() {
+  this.attachShadow({
+    mode: this.getOption('shadowMode', 'open'),
+    delegatesFocus: this.getOption('delegatesFocus', true)
+  });
+  var styleSheet = this.constructor.getCSSStyleSheet();
+
+  if (styleSheet instanceof CSSStyleSheet) {
+    this.shadowRoot.adoptedStyleSheets = [styleSheet];
+  }
+
+  try {
+    var template = (0, _template.findDocumentTemplate)(this.constructor.getTag());
+    this.shadowRoot.appendChild(template.createDocumentFragment());
+  } catch (e) {
+    this.shadowRoot.innerHTML = this.constructor.getTemplate();
+  }
+
+  return this;
+}
 /**
  * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.
  *
@@ -2649,8 +2968,6 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
  */
 
 
-exports.CustomElement = CustomElement;
-
 function registerCustomElement(element) {
   (0, _validate.validateFunction)(element);
   var tag = element.getTag();
@@ -2660,7 +2977,7 @@ function registerCustomElement(element) {
 
 _validate.Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);
 
-},{"../types/global.js":27,"../types/validate.js":38}],15:[function(require,module,exports){
+},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -2734,7 +3051,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Monster.DOM.Handle())
  * </script>
  * ```
@@ -2743,7 +3060,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Handle())
  * </script>
  * ```
@@ -2912,7 +3229,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(Monster.DOM.getHandleFromNode())
  * </script>
  * ```
@@ -2921,7 +3238,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(getHandleFromNode())
  * </script>
  * ```
@@ -2954,7 +3271,7 @@ function getHandleFromNode(node) {
 
 _base.Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);
 
-},{"../types/base.js":26,"../types/global.js":27,"../types/id.js":28,"../types/is.js":29,"../types/observer.js":30,"../types/proxyobserver.js":32,"../types/stack.js":35,"../types/validate.js":38,"./assembler.js":13}],16:[function(require,module,exports){
+},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3007,7 +3324,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Monster.DOM.Template())
  * </script>
  * ```
@@ -3016,7 +3333,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Template())
  * </script>
  * ```
@@ -3081,7 +3398,7 @@ var Template = /*#__PURE__*/function (_Base) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(Monster.DOM.findDocumentTemplate())
  * </script>
  * ```
@@ -3090,7 +3407,7 @@ var Template = /*#__PURE__*/function (_Base) {
  *
  * ```
  * <script type="module">
- * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(findDocumentTemplate())
  * </script>
  * ```
@@ -3130,7 +3447,7 @@ function findDocumentTemplate(id) {
 
 _base.Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);
 
-},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38,"./theme.js":17}],17:[function(require,module,exports){
+},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3156,6 +3473,8 @@ var _validate = require("../types/validate.js");
 
 var _global = require("../types/global.js");
 
+var _constants = require("./constants.js");
+
 function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
 function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -3176,23 +3495,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
 
 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
 
-/**
- * default theme
- * @type {string}
- */
-var DEFAULT_THEME = 'monster';
-/**
- * @private
- * @type {string}
- */
-
-var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
 /**
  * You can call the method via the monster namespace `new Monster.DOM.Theme()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  * console.log(new Monster.DOM.Theme())
  * </script>
  * ```
@@ -3201,14 +3509,14 @@ var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
  *
  * ```
  * <script type="module">
- * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  * console.log(new Theme())
  * </script>
  * ```
  * 
  * @example
  *
- * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  *
  * const theme = getDocumentTheme();
  * console.log(theme.getName());
@@ -3218,7 +3526,6 @@ var THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
  * @copyright schukai GmbH
  * @memberOf Monster/DOM
  */
-
 var Theme = /*#__PURE__*/function (_Base) {
   _inherits(Theme, _Base);
 
@@ -3275,11 +3582,11 @@ exports.Theme = Theme;
 
 function getDocumentTheme() {
   var document = (0, _global.getGlobalObject)('document');
-  var name = DEFAULT_THEME;
+  var name = _constants.DEFAULT_THEME;
   var element = document.querySelector('html');
 
   if (element instanceof HTMLElement) {
-    var theme = element.getAttribute(THEME_ATTRIBUTE_NAME);
+    var theme = element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);
 
     if (theme) {
       name = theme;
@@ -3291,7 +3598,7 @@ function getDocumentTheme() {
 
 _base.Monster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);
 
-},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38}],18:[function(require,module,exports){
+},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3321,7 +3628,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocument())
  * </script>
  * ```
@@ -3330,7 +3637,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocument())
  * </script>
  * ```
@@ -3384,7 +3691,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getWindow())
  * </script>
  * ```
@@ -3393,7 +3700,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getWindow(null))
  * </script>
  * ```
@@ -3453,7 +3760,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocumentFragmentFromString())
  * </script>
  * ```
@@ -3462,7 +3769,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocumentFragmentFromString('<div></div>'))
  * </script>
  * ```
@@ -3513,7 +3820,7 @@ function getDocumentFragmentFromString(html) {
 
 _global.Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);
 
-},{"../types/global.js":27,"../types/validate.js":38}],19:[function(require,module,exports){
+},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3567,7 +3874,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Monster.Logging.Handler())
  * </script>
  * ```
@@ -3576,7 +3883,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Handler())
  * </script>
  * ```
@@ -3767,7 +4074,7 @@ exports.Handler = Handler;
 
 _namespace.Monster.assignToNamespace('Monster.Logging', Handler);
 
-},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./logentry.js":21,"./logger.js":22}],20:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3818,7 +4125,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
  * console.log(new Monster.Logging.Handler.ConsoleHandler())
  * </script>
  * ```
@@ -3827,7 +4134,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
  * console.log(new ConsoleHandler())
  * </script>
  * ```
@@ -3852,7 +4159,7 @@ var ConsoleHandler = /*#__PURE__*/function (_Base) {
 
 _namespace.Monster.assignToNamespace('Monster.Logging', ConsoleHandler);
 
-},{"../../logging/handler.js":19,"../../namespace.js":25,"../../types/base.js":26}],21:[function(require,module,exports){
+},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -3902,7 +4209,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new Monster.Logging.LogEntry())
  * </script>
  * ```
@@ -3911,7 +4218,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new LogEntry())
  * </script>
  * ```
@@ -3976,7 +4283,7 @@ exports.LogEntry = LogEntry;
 
 _namespace.Monster.assignToNamespace('Monster.Logging', LogEntry);
 
-},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],22:[function(require,module,exports){
+},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -4098,7 +4405,7 @@ var OFF = 0;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Monster.Logging.Logger())
  * </script>
  * ```
@@ -4107,7 +4414,7 @@ var OFF = 0;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Logger())
  * </script>
  * ```
@@ -4355,7 +4662,7 @@ function triggerLog(loglevel) {
   return logger;
 }
 
-},{"../logging/handler.js":19,"../logging/logentry.js":21,"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],23:[function(require,module,exports){
+},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -4381,7 +4688,7 @@ var _global = require("../types/global.js");
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(Monster.Math.random(1,10)) // ↦ 5
  * </script>
  * ```
@@ -4390,7 +4697,7 @@ var _global = require("../types/global.js");
  *
  * ```
  * <script type="module">
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(random(1,10)) // ↦ 5
  * </script>
  * ```
@@ -4482,7 +4789,7 @@ function create(min, max) {
 
 _global.Monster.assignToNamespace('Monster.Math', random);
 
-},{"../types/global.js":27}],24:[function(require,module,exports){
+},{"../types/global.js":28}],25:[function(require,module,exports){
 /**
  * @license
  * Copyright 2021 schukai GmbH
@@ -4592,7 +4899,7 @@ try {
 if (!rootName) rootName = "Monster";
 _namespace.Monster.Types.getGlobal()[rootName] = _namespace.Monster;
 
-},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":14,"./dom/handle.js":15,"./dom/template.js":16,"./dom/util.js":18,"./logging/handler.js":19,"./logging/handler/console.js":20,"./logging/logentry.js":21,"./logging/logger.js":22,"./math/random.js":23,"./namespace.js":25,"./types/base.js":26,"./types/global.js":27,"./types/id.js":28,"./types/is.js":29,"./types/observer.js":30,"./types/observerlist.js":31,"./types/proxyobserver.js":32,"./types/queue.js":33,"./types/randomid.js":34,"./types/stack.js":35,"./types/tokenlist.js":36,"./types/uniquequeue.js":37,"./types/validate.js":38,"./types/version.js":39,"./util/clone.js":40,"./util/comparator.js":41,"./util/freeze.js":42}],25:[function(require,module,exports){
+},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){
 'use strict';
 /**
  * @namespace Monster
@@ -4685,7 +4992,7 @@ assignToNamespace('Monster', assignToNamespace);
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';
  * function hello() {
  *            console.log('Hello World!');
  *        }
@@ -4775,7 +5082,7 @@ function namespaceFor(parts) {
   return space;
 }
 
-},{}],26:[function(require,module,exports){
+},{}],27:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -4829,7 +5136,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Monster.Types.Base())
  * console.log(new Monster.Types.Base())
  * </script>
@@ -4839,7 +5146,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Base())
  * console.log(new Base())
  * </script>
@@ -4881,7 +5188,7 @@ exports.Base = Base;
 
 _namespace.Monster.assignToNamespace('Monster.Types', Base);
 
-},{"../namespace.js":25}],27:[function(require,module,exports){
+},{"../namespace.js":26}],28:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -4952,7 +5259,7 @@ function getGlobal() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -4961,7 +5268,7 @@ function getGlobal() {
  *
  * ```
  * <script type="module">
- * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -4992,7 +5299,7 @@ function getGlobalObject(name) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
@@ -5001,7 +5308,7 @@ function getGlobalObject(name) {
  *
  * ```
  * <script type="module">
- * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
@@ -5028,7 +5335,7 @@ function getGlobalFunction(name) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);
 
-},{"../namespace.js":25,"./validate.js":38}],28:[function(require,module,exports){
+},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -5087,7 +5394,7 @@ var internalCounter = new Map();
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new Monster.Types.ID())
  * </script>
  * ```
@@ -5096,7 +5403,7 @@ var internalCounter = new Map();
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new ID())
  * </script>
  * ```
@@ -5157,7 +5464,7 @@ exports.ID = ID;
 
 _base.Monster.assignToNamespace('Monster.Types', ID);
 
-},{"./base.js":26,"./validate.js":38}],29:[function(require,module,exports){
+},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -5193,7 +5500,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isIterable(null)) // ↦ false
  * console.log(Monster.Types.isIterable('hello')) // ↦ true
  * console.log(Monster.Types.isIterable([])) // ↦ true
@@ -5204,7 +5511,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isIterable(null))  // ↦ false
  * console.log(isIterable('hello'))  // ↦ true
  * console.log(isIterable([]))  // ↦ true
@@ -5229,7 +5536,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isPrimitive('2')) // ↦ false
  * console.log(Monster.Types.isPrimitive([])) // ↦ true
  * </script>
@@ -5239,7 +5546,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isPrimitive('2'))  // ↦ true
  * console.log(isPrimitive([]))  // ↦ false
  * </script>
@@ -5275,7 +5582,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isBoolean('2')) // ↦ false
  * console.log(Monster.Types.isBoolean([])) // ↦ false
  * console.log(Monster.Types.isBoolean(true)) // ↦ true
@@ -5286,7 +5593,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isBoolean('2'))  // ↦ false
  * console.log(isBoolean([]))  // ↦ false
  * console.log(isBoolean(2>4))  // ↦ true
@@ -5315,7 +5622,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isString('2')) // ↦ true
  * console.log(Monster.Types.isString([])) // ↦ false
  * </script>
@@ -5325,7 +5632,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isString('2'))  // ↦ true
  * console.log(isString([]))  // ↦ false
  * </script>
@@ -5353,7 +5660,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isObject('2')) // ↦ false
  * console.log(Monster.Types.isObject([])) // ↦ false
  * console.log(Monster.Types.isObject({})) // ↦ true
@@ -5364,7 +5671,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isObject('2'))  // ↦ false
  * console.log(isObject([]))  // ↦ false
  * </script>
@@ -5395,7 +5702,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInstance('2')) // ↦ false
  * console.log(Monster.Types.isInstance([])) // ↦ false
  * console.log(Monster.Types.isInstance({})) // ↦ true
@@ -5406,7 +5713,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInstance('2'))  // ↦ false
  * console.log(isInstance([]))  // ↦ false
  * </script>
@@ -5434,7 +5741,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isArray('2')) // ↦ false
  * console.log(Monster.Types.isArray([])) // ↦ true
  * </script>
@@ -5444,7 +5751,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isArray('2'))  // ↦ false
  * console.log(isArray([]))  // ↦ true
  * </script>
@@ -5472,7 +5779,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isFunction(()=>{})) // ↦ true
  * console.log(Monster.Types.isFunction('2')) // ↦ false
  * console.log(Monster.Types.isFunction([])) // ↦ false
@@ -5483,7 +5790,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isFunction(()=>{})) // ↦ true
  * console.log(isFunction('2'))  // ↦ false
  * console.log(isFunction([]))  // ↦ false
@@ -5515,7 +5822,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInteger(()=>{})) // ↦ true
  * console.log(Monster.Types.isInteger('2')) // ↦ false
  * console.log(Monster.Types.isInteger(2)) // ↦ true
@@ -5526,7 +5833,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInteger(()=>{})) // ↦ true
  * console.log(isInteger('2'))  // ↦ false
  * console.log(isInteger(2))  // ↦ true
@@ -5547,7 +5854,7 @@ function isInteger(value) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);
 
-},{"../namespace.js":25}],30:[function(require,module,exports){
+},{"../namespace.js":26}],31:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -5603,7 +5910,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  * console.log(new Monster.Types.Observer())
  * </script>
  * ```
@@ -5612,7 +5919,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  * console.log(new Observer())
  * </script>
  * ```
@@ -5646,7 +5953,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * @example
  *
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  *
  * const observer = new Observer(function(a, b, c) {
  *      console.log(this, a, b, c); // ↦ "a", 2, true 
@@ -5755,22 +6062,26 @@ var Observer = /*#__PURE__*/function (_Base) {
 
         self.queue.add(subject);
         setTimeout(function () {
-          // the queue and the settimeout ensure that an object is not 
-          // informed of the same change more than once.
-          if (self.queue.isEmpty()) {
-            resolve();
-            return;
+          try {
+            // the queue and the settimeout ensure that an object is not 
+            // informed of the same change more than once.
+            if (self.queue.isEmpty()) {
+              resolve();
+              return;
+            }
+
+            var s = self.queue.poll();
+            var result = self.callback.apply(s, self.arguments);
+
+            if ((0, _is.isObject)(result) && result instanceof Promise) {
+              result.then(resolve)["catch"](reject);
+              return;
+            }
+
+            resolve(result);
+          } catch (e) {
+            reject(e);
           }
-
-          var s = self.queue.poll();
-          var result = self.callback.apply(s, self.arguments);
-
-          if ((0, _is.isObject)(result) && result instanceof Promise) {
-            result.then(resolve)["catch"](reject);
-            return;
-          }
-
-          resolve(result);
         }, 0);
       });
     }
@@ -5783,7 +6094,7 @@ exports.Observer = Observer;
 
 _namespace.Monster.assignToNamespace('Monster.Types', Observer);
 
-},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./tokenlist.js":36,"./uniquequeue.js":37}],31:[function(require,module,exports){
+},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -5837,7 +6148,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(new Monster.Types.ObserverList())
  * console.log(new Monster.Types.ObserverList())
  * </script>
@@ -5847,7 +6158,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(ObserverList())
  * console.log(ObserverList())
  * </script>
@@ -5961,7 +6272,7 @@ exports.ObserverList = ObserverList;
 
 _namespace.Monster.assignToNamespace('Monster.Types', ObserverList);
 
-},{"../namespace.js":25,"./base.js":26,"./observer.js":30,"./validate.js":38}],32:[function(require,module,exports){
+},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -6013,13 +6324,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
 function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
 
 /**
- * an observer manages a callback function
+ * An observer manages a callback function
  *
- * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
+ * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new Monster.Types.ProxyObserver())
  * </script>
  * ```
@@ -6028,7 +6339,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new ProxyObserver())
  * </script>
  * ```
@@ -6039,9 +6350,9 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * @example 
  *
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * 
  * const o = new Observer(function () { 
  *   if (isObject(this) && this instanceof ProxyObserver) {
@@ -6149,14 +6460,13 @@ var ProxyObserver = /*#__PURE__*/function (_Base) {
     /**
      * notify all observer
      *
-     * @returns {ProxyObserver}
+     * @returns {Promise}
      */
 
   }, {
     key: "notifyObservers",
     value: function notifyObservers() {
-      this.observers.notify(this);
-      return this;
+      return this.observers.notify(this);
     }
     /**
      * @param {Observer} observer
@@ -6260,7 +6570,7 @@ function getHandler() {
   return handler;
 }
 
-},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./observer.js":30,"./observerlist.js":31,"./validate.js":38}],33:[function(require,module,exports){
+},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){
 "use strict";
 
 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
@@ -6303,7 +6613,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Monster.Types.Queue())
  * </script>
  * ```
@@ -6312,14 +6622,14 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Queue())
  * </script>
  * ```
  * 
  * @example
  *
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  *
  * const queue = new Queue;
  *
@@ -6436,7 +6746,7 @@ exports.Queue = Queue;
 
 _base.Monster.assignToNamespace('Monster.Types', Queue);
 
-},{"./base.js":26}],34:[function(require,module,exports){
+},{"./base.js":27}],35:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -6487,7 +6797,7 @@ var internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new Monster.Types.RandomID())
  * </script>
  * ```
@@ -6496,7 +6806,7 @@ var internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new RandomID())
  * </script>
  * ```
@@ -6534,7 +6844,7 @@ exports.RandomID = RandomID;
 
 _id.Monster.assignToNamespace('Monster.Types', RandomID);
 
-},{"../math/random.js":23,"./global.js":27,"./id.js":28}],35:[function(require,module,exports){
+},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){
 "use strict";
 
 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
@@ -6577,7 +6887,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Monster.Types.Stack())
  * </script>
  * ```
@@ -6586,7 +6896,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Stack())
  * </script>
  * ```
@@ -6690,7 +7000,7 @@ exports.Stack = Stack;
 
 _base.Monster.assignToNamespace('Monster.Types', Stack);
 
-},{"./base.js":26}],36:[function(require,module,exports){
+},{"./base.js":27}],37:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -6752,7 +7062,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new Monster.Types.TokenList("myclass row"))
  * console.log(new Monster.Types.TokenList("myclass row"))
  * </script>
@@ -6762,7 +7072,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new TokenList("myclass row"))
  * console.log(new TokenList("myclass row"))
  * </script>
@@ -7134,7 +7444,7 @@ function toggleValue(token) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', TokenList);
 
-},{"../namespace.js":25,"../types/is.js":29,"../types/validate.js":38,"./base.js":26}],37:[function(require,module,exports){
+},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){
 "use strict";
 
 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
@@ -7183,7 +7493,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new Monster.Types.UniqueQueue())
  * </script>
  * ```
@@ -7192,7 +7502,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new UniqueQueue())
  * </script>
  * ```
@@ -7281,7 +7591,7 @@ exports.UniqueQueue = UniqueQueue;
 
 _queue.Monster.assignToNamespace('Monster.Types', UniqueQueue);
 
-},{"./queue.js":33,"./validate.js":38}],38:[function(require,module,exports){
+},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -7317,7 +7627,7 @@ var _is = require("./is.js");
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
  * console.log(Monster.Types.validateIterable([])) // ↦ undefined
  * </script>
@@ -7327,14 +7637,14 @@ var _is = require("./is.js");
  *
  * ```
  * <script type="module">
- * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateIterable('2'))  // ↦ TypeError
  * console.log(validateIterable([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7347,6 +7657,8 @@ function validateIterable(value) {
   if (!(0, _is.isIterable)(value)) {
     throw new TypeError('value is not iterable');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
@@ -7355,7 +7667,7 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined
  * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
  * </script>
@@ -7365,14 +7677,14 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validatePrimitive('2'))  // ↦ undefined
  * console.log(validatePrimitive([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7387,6 +7699,8 @@ function validatePrimitive(value) {
   if (!(0, _is.isPrimitive)(value)) {
     throw new TypeError('value is not a primitive');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.
@@ -7395,7 +7709,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined
  * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
  * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
@@ -7406,7 +7720,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateBoolean(false))  // ↦ undefined
  * console.log(validateBoolean('2'))  // ↦ TypeError
  * console.log(validateBoolean([]))  // ↦ TypeError
@@ -7414,7 +7728,7 @@ function validatePrimitive(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7427,6 +7741,8 @@ function validateBoolean(value) {
   if (!(0, _is.isBoolean)(value)) {
     throw new TypeError('value is not a boolean');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.
@@ -7435,7 +7751,7 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateString('2')) // ↦ undefined
  * console.log(Monster.Types.validateString([])) // ↦ TypeError
  * </script>
@@ -7445,14 +7761,14 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateString('2'))  // ↦ undefined
  * console.log(validateString([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7464,6 +7780,8 @@ function validateString(value) {
   if (!(0, _is.isString)(value)) {
     throw new TypeError('value is not a string');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.
@@ -7472,7 +7790,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateObject({})) // ↦ undefined
  * console.log(Monster.Types.validateObject('2')) // ↦ TypeError
  * console.log(Monster.Types.validateObject([])) // ↦ TypeError
@@ -7483,7 +7801,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateObject({}))  // ↦ undefined
  * console.log(validateObject('2'))  // ↦ TypeError
  * console.log(validateObject([]))  // ↦ TypeError
@@ -7491,7 +7809,7 @@ function validateString(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7503,6 +7821,8 @@ function validateObject(value) {
   if (!(0, _is.isObject)(value)) {
     throw new TypeError('value is not a object');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the object instance.
@@ -7511,7 +7831,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined
  * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
  * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
@@ -7522,7 +7842,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInstance({}, Object)) // ↦ undefined
  * console.log(validateInstance('2', Object)) // ↦ TypeError
  * console.log(validateInstance([], Object)) // ↦ TypeError
@@ -7530,7 +7850,7 @@ function validateObject(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7552,6 +7872,8 @@ function validateInstance(value, instance) {
 
     throw new TypeError('value is not an instance of' + n);
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.
@@ -7560,7 +7882,7 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateArray('2')) // ↦ TypeError
  * console.log(Monster.Types.validateArray([])) // ↦ undefined
  * </script>
@@ -7570,14 +7892,14 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateArray('2'))  // ↦ TypeError
  * console.log(validateArray([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7589,6 +7911,8 @@ function validateArray(value) {
   if (!(0, _is.isArray)(value)) {
     throw new TypeError('value is not an array');
   }
+
+  return value;
 }
 /**
  * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.
@@ -7597,7 +7921,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined
  * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
  * console.log(Monster.Types.validateFunction([])) // ↦ TypeError
@@ -7608,7 +7932,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateFunction(()=>{})) // ↦ undefined
  * console.log(validateFunction('2'))  // ↦ TypeError
  * console.log(validateFunction([]))  // ↦ TypeError
@@ -7616,7 +7940,7 @@ function validateArray(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7628,6 +7952,8 @@ function validateFunction(value) {
   if (!(0, _is.isFunction)(value)) {
     throw new TypeError('value is not a function');
   }
+
+  return value;
 }
 /**
  * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.
@@ -7636,7 +7962,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
  * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
  * console.log(Monster.Types.validateInteger(2)) // ↦ undefined
@@ -7647,7 +7973,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInteger(true)) // ↦ TypeError
  * console.log(validateInteger('2'))  // ↦ TypeError
  * console.log(validateInteger(2))  // ↦ undefined
@@ -7655,7 +7981,7 @@ function validateFunction(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -7667,11 +7993,13 @@ function validateInteger(value) {
   if (!(0, _is.isInteger)(value)) {
     throw new TypeError('value is not an integer');
   }
+
+  return value;
 }
 
 _namespace.Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);
 
-},{"../namespace.js":25,"./is.js":29}],39:[function(require,module,exports){
+},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){
 'use strict';
 
 function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
@@ -7719,7 +8047,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
  * </script>
@@ -7729,7 +8057,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Version('1')) // ↦ 1.0.0
  * </script>
@@ -7737,7 +8065,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * @example
  *
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  *
  * new Version('1.0.0') // ↦ 1.0.0
  * new Version(1)  // ↦ 1.0.0
@@ -7872,7 +8200,7 @@ var monsterVersion;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(Monster.getVersion())
  * console.log(Monster.getVersion())
  * </script>
@@ -7882,7 +8210,7 @@ var monsterVersion;
  *
  * ```
  * <script type="module">
- * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(getVersion())
  * console.log(getVersion())
  * </script>
@@ -7902,7 +8230,7 @@ function getVersion() {
   /**#@+ dont touch, replaced by make with package.json version */
 
 
-  monsterVersion = new Version('1.7.0');
+  monsterVersion = new Version('1.8.0');
   /**#@-*/
 
   return monsterVersion;
@@ -7910,7 +8238,7 @@ function getVersion() {
 
 _namespace.Monster.assignToNamespace('Monster', getVersion);
 
-},{"../namespace.js":25,"./base.js":26}],40:[function(require,module,exports){
+},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -7948,7 +8276,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(Monster.Util.clone({}))
  * </script>
  * ```
@@ -7957,7 +8285,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
  *
  * ```
  * <script type="module">
- * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(clone({}))
  * </script>
  * ```
@@ -8073,7 +8401,7 @@ function cloneObject(obj) {
 
 _namespace.Monster.assignToNamespace('Monster.Util', clone);
 
-},{"../namespace.js":25,"../types/global.js":27,"../types/is.js":29}],41:[function(require,module,exports){
+},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -8121,7 +8449,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  * console.log(new Monster.Util.Comparator())
  * </script>
  * ```
@@ -8130,7 +8458,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  *
  * ```
  * <script type="module">
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  * console.log(new Comparator())
  * </script>
  * ```
@@ -8155,7 +8483,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
  * 
  * @example
  *
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  *
  * console.log(new Comparator().lessThanOrEqual(2, 5))
  * // ↦ true
@@ -8306,7 +8634,7 @@ exports.Comparator = Comparator;
 
 _base.Monster.assignToNamespace('Monster.Util', Comparator);
 
-},{"../types/base.js":26,"../types/is.js":29}],42:[function(require,module,exports){
+},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -8342,7 +8670,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
  * console.log(Monster.Util.deepFreeze({})) 
  * </script>
  * ```
@@ -8351,7 +8679,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
  *
  * ```
  * <script type="module">
- * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+ * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
  * console.log(deepFreeze({}))  
  * </script>
  * ```
@@ -8388,5 +8716,5 @@ function deepFreeze(object) {
 
 _namespace.Monster.assignToNamespace('Monster.Util', deepFreeze);
 
-},{"../namespace.js":25,"../types/validate.js":38}]},{},[24])
+},{"../namespace.js":26,"../types/validate.js":39}]},{},[25])
 //# sourceMappingURL=monster.dev.js.map
diff --git a/packages/monster/dist/monster.dev.js.map b/packages/monster/dist/monster.dev.js.map
index 5a7ce0490..70b5c857d 100644
--- a/packages/monster/dist/monster.dev.js.map
+++ b/packages/monster/dist/monster.dev.js.map
@@ -15,6 +15,7 @@
     "packages/monster/source/data/pipe.js",
     "packages/monster/source/data/transformer.js",
     "packages/monster/source/dom/assembler.js",
+    "packages/monster/source/dom/constants.js",
     "packages/monster/source/dom/customelement.js",
     "packages/monster/source/dom/handle.js",
     "packages/monster/source/dom/template.js",
@@ -46,52 +47,53 @@
     "packages/monster/source/util/freeze.js"
   ],
   "names": [],
-  "mappings": "AAAA;ACAA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,kB;;;;;AAEF;AACJ;AACA;AACI,gCAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,iBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAjB4B,U;;;;AAoBjC,mBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,kBAAjD;;;ACvCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,gB;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,4BAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAAA;;AAAA;;AAC5B;;AAEA,QAAI,EAAE,QAAQ,YAAY,4BAAtB,KAA6C,EAAE,QAAQ,YAAY,4BAAtB,CAAjD,EAA4F;AACxF,YAAM,IAAI,SAAJ,CAAc,iDAAd,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;AACA,UAAK,QAAL,GAAgB,QAAhB;AAR4B;AAU/B;;;EAlB0B,4B;;;;AAuB/B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,gBAAjD;;;ACtCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,GAAR,CAAY,CAAC,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAAD,EAA+B,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAA/B,CAAZ,CAAP;AACH;;;;EAVqB,kC;;;;AAc1B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,WAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAViB,4B;;;;AActB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,iBAAQ,KAAR,CAAJ,EAAoB;AAChB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdiB,4B;;;;AAkBtB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdkB,4B;;;;AAkBvB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,QAAjD;;;ACjEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAJ,EAAO,CAAP;AAEA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAWA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAUH,OAxBM,CAAP;AAyBH;;;;EApCoB,kC;;;;AAyCzB,0BAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,UAAjD;;;AC1FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;;;EAVe,4B;;;;AAcpB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,KAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAT,CAAc,KAAd,EAAqB,MAArB,EAA6B;AACzB,SAAO,MAAM,CAAC,KAAD,EAAQ,MAAR,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,IAAvB,EAA6B;AACzB,MAAI,iBAAQ,IAAR,CAAJ,EAAmB;AACf,QAAM,IAAI,GAAG,CAAC,CAAC,MAAF,GAAW,CAAC,CAAC,MAAb,GAAsB,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ,CAAtB,GAA4C,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACI,sBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,UAAK,MAAL,GAAc,MAAd;AACA,UAAK,QAAL,GAAgB,QAAhB;AAHgB;AAInB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,oCAAe,QAAf;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;AACA,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa,KAAb,EAAoB;AAChB,oCAAe,IAAf;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,KAA9C;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,IAAV,EAAgB;AACZ,oCAAe,IAAf;AACA,MAAA,kBAAkB,CAAC,IAAnB,CAAwB,IAAxB,EAA8B,KAAK,MAAnC,EAA2C,IAA3C;AACA,aAAO,IAAP;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;AACF;AACJ;AACA;AACA;AACI,uBAAY,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,kCAAe,UAAf;AAEA,UAAK,IAAL,GAAY,WAAW,CAAC,UAAD,CAAvB;AACA,UAAK,OAAL,GAAe,MAAK,IAAL,CAAU,KAAV,EAAf;AACA,UAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AANoB;AAQvB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,IAAZ,EAAkB,QAAlB,EAA4B;AACxB,oCAAe,IAAf;AACA,sCAAiB,QAAjB;AACA,WAAK,SAAL,CAAe,GAAf,CAAmB,IAAnB,EAAyB,QAAzB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,SAAS,CAAC,KAAV,CAAgB,IAAhB,EAAsB,CAAC,KAAD,CAAtB,CAAP;AACH;;;;EAxCqB,U;;;;AA2C1B,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,WAA1C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,CAAqB,OAArB,EAA8B;AAE1B,gCAAe,OAAf;AAEA,MAAI,WAAW,GAAG,IAAI,GAAJ,EAAlB;;AACA,MAAM,KAAK,4BAAG,iBAAH;AAAA;AAAA;AAAA,IAAX,CAL0B,CAO1B;AACA;;;AACA,MAAI,MAAM,GAAG,OAAO,CAAC,QAAR,CAAiB,KAAjB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AAP;AACH;;AAED,sCAAiB,IAAjB,EAAuB,4BAAvB;AACA,UAAI,QAAQ,GAAG,KAAK,QAAL,CAAc,SAAd,CAAwB,IAAxB,CAAf;AACA,aAAO,QAAP;AACH;;;;EAlDmB,U;;;;AAsDxB,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC;;;ACjGA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,a;;;;;AAEF;AACJ;AACA;AACI,2BAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,6BAAoB,CAEnB;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gCAAuB,CAEtB;AAED;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkB,CAEjB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kCAAyB,QAAzB,EAAmC,MAAnC,EAA2C,MAA3C,EAAmD,CAElD;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAgB;AACZ,YAAM,IAAI,KAAJ,CAAU,6DAAV,CAAN;AACH;;;;iCA5DuB,W;AAiE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,qBAAT,CAA+B,OAA/B,EAAwC;AACpC,kCAAiB,OAAjB;AAEA,MAAI,GAAG,GAAG,OAAO,CAAC,MAAR,EAAV;AAEA,+BAAgB,gBAAhB,EAAkC,MA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;AAHc;AAIjB;AAED;AACJ;AACA;AACA;;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAZ;AACH;;;;EAnBe,U;AAuBpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,gBAAT,GAA4B;AACxB,MAAI,QAAQ,GAAG,6BAAgB,UAAhB,CAAf;AACA,MAAI,IAAI,GAAG,aAAX;AAEA,MAAI,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAd;;AACA,MAAI,OAAO,YAAY,WAAvB,EAAoC;AAChC,QAAI,KAAK,GAAG,OAAO,CAAC,YAAR,CAAqB,oBAArB,CAAZ;;AACA,QAAI,KAAJ,EAAW;AACP,MAAA,IAAI,GAAG,KAAP;AACH;AACJ;;AAED,SAAO,IAAI,KAAJ,CAAU,IAAV,CAAP;AAEH;;AAED,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,KAAzC,EAAgD,gBAAhD;;;AC3GA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,GAAuB;AAAA;;AACnB,MAAI,QAAQ,iBAAG,wBAAH,+CAAG,WAAc,UAAd,CAAf;;AACA,MAAI,QAAO,QAAP,MAAoB,QAAxB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AAAA;;AACjB,MAAI,MAAM,kBAAG,wBAAH,gDAAG,YAAc,QAAd,CAAb;;AACA,MAAI,QAAO,MAAP,MAAkB,QAAtB,EAAgC;AAC5B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,MAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,6BAAT,CAAuC,IAAvC,EAA6C;AACzC,gCAAe,IAAf;AAEA,MAAM,QAAQ,GAAG,WAAW,EAA5B;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAAjB;AACA,EAAA,QAAQ,CAAC,SAAT,GAAqB,IAArB;AAEA,SAAO,QAAQ,CAAC,OAAhB;AACH;;AAGD,gBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC,EAAoD,WAApD,EAAiE,6BAAjE;;;ACzMA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;AACF,qBAAc;AAAA;;AAAA;;AACV;AAEA;AACR;AACA;AACA;AACA;;AACQ,UAAK,QAAL,GAAgB,WAAhB;AARU;AASb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;A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EA,MAAI,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAjC,IAAyC,KAAK,KAAK,GAAvD,EAA4D;AACxD,WAAO,IAAP;AACH;;AAED,EAAA,IAAI,WAAU,KAAV,CAAJ;;AAEA,MAAI,IAAI,KAAK,QAAT,IAAqB,IAAI,KAAK,QAA9B,IAA0C,IAAI,KAAK,SAAnD,IAAgE,IAAI,KAAK,QAA7E,EAAuF;AACnF,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,KAAhC,EAAuC;AACnC,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AACrB,MAAI,KAAK,KAAK,SAAV,IAAuB,OAAO,KAAP,KAAiB,QAA5C,EAAsD;AAClD,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AAErB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,QAAO,KAAP,MAAiB,QAArB,EAA+B;AAC3B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B,QAA3B,EAAqC;AAEjC,MAAI,CAAC,QAAQ,CAAC,KAAD,CAAb,EAAsB,OAAO,KAAP;AACtB,MAAI,CAAC,UAAU,CAAC,QAAD,CAAf,EAA2B,OAAO,KAAP;AAC3B,MAAI,CAAC,QAAQ,CAAC,cAAT,CAAwB,WAAxB,CAAL,EAA2C,OAAO,KAAP;AAC3C,SAAQ,KAAK,YAAY,QAAlB,GAA8B,IAA9B,GAAqC,KAA5C;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,KAAjB,EAAwB;AACpB,MAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AACtB,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,OAAO,KAAP,KAAiB,UAArB,EAAiC;AAC7B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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KAAK,GAAG,KAAK,IAAL,CAAU,KAAV,EAAZ;AACA,WAAK,MAAL,WAAmB,KAAnB;AACA,aAAO,KAAP;AACH;;;;EAtDqB,Y;;;;AA2D1B,eAAQ,iBAAR,CAA0B,eAA1B,EAA2C,WAA3C;;;ACrFA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAT,CAA0B,KAA1B,EAAiC;AAC7B,MAAI,CAAC,oBAAW,KAAX,CAAL,EAAwB;AACpB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAkC;AAC9B,MAAI,CAAC,qBAAY,KAAZ,CAAL,EAAyB;AACrB,UAAM,IAAI,SAAJ,CAAc,0BAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;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",
+  "mappings": "AAAA;ACAA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,kB;;;;;AAEF;AACJ;AACA;AACI,gCAAc;AAAA;;AAAA;AAEb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,iBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAjB4B,U;;;;AAoBjC,mBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,kBAAjD;;;ACvCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,gB;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,4BAAY,QAAZ,EAAsB,QAAtB,EAAgC;AAAA;;AAAA;;AAC5B;;AAEA,QAAI,EAAE,QAAQ,YAAY,4BAAtB,KAA6C,EAAE,QAAQ,YAAY,4BAAtB,CAAjD,EAA4F;AACxF,YAAM,IAAI,SAAJ,CAAc,iDAAd,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;AACA,UAAK,QAAL,GAAgB,QAAhB;AAR4B;AAU/B;;;EAlB0B,4B;;;;AAuB/B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,gBAAjD;;;ACtCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,GAAR,CAAY,CAAC,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAAD,EAA+B,KAAK,QAAL,CAAc,OAAd,CAAsB,KAAtB,CAA/B,CAAZ,CAAP;AACH;;;;EAVqB,kC;;;;AAc1B,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,WAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAViB,4B;;;;AActB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,iBAAQ,KAAR,CAAJ,EAAoB;AAChB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdiB,4B;;;;AAkBtB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,OAAjD;;;AChEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,eAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;AAED,aAAO,OAAO,CAAC,MAAR,CAAe,KAAf,CAAP;AACH;;;;EAdkB,4B;;;;AAkBvB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,QAAjD;;;ACjEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAJ,EAAO,CAAP;AAEA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAWA,QAAA,IAAI,CAAC,QAAL,CAAc,OAAd,CAAsB,KAAtB,EACK,IADL,CACU,YAAY;AACd,UAAA,OAAO;AACV,SAHL,WAGa,YAAY;AACrB,UAAA,CAAC,GAAG,KAAJ;AACA;;AACA,cAAI,CAAC,KAAK,KAAV,EAAiB;AACb,YAAA,MAAM;AACT;AACJ,SATD;AAUH,OAxBM,CAAP;AAyBH;;;;EApCoB,kC;;;;AAyCzB,0BAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,UAAjD;;;AC1FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAQ,KAAR,EAAe;AACX,aAAO,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAP;AACH;;;;EAVe,4B;;;;AAcpB,kBAAQ,iBAAR,CAA0B,qBAA1B,EAAiD,KAAjD;;;ACxDA;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,IAAT,CAAc,KAAd,EAAqB,MAArB,EAA6B;AACzB,SAAO,MAAM,CAAC,KAAD,EAAQ,MAAR,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,CAAjB,EAAoB,CAApB,EAAuB,IAAvB,EAA6B;AACzB,MAAI,iBAAQ,IAAR,CAAJ,EAAmB;AACf,QAAM,IAAI,GAAG,CAAC,CAAC,MAAF,GAAW,CAAC,CAAC,MAAb,GAAsB,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ,CAAtB,GAA4C,IAAI,KAAJ,CAAU,CAAC,CAAC,MAAZ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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACI,sBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,UAAK,MAAL,GAAc,MAAd;AACA,UAAK,QAAL,GAAgB,QAAhB;AAHgB;AAInB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,oCAAe,QAAf;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;AACA,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa,KAAb,EAAoB;AAChB,oCAAe,IAAf;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,KAA9C;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,IAAV,EAAgB;AACZ,oCAAe,IAAf;AACA,MAAA,kBAAkB,CAAC,IAAnB,CAAwB,IAAxB,EAA8B,KAAK,MAAnC,EAA2C,IAA3C;AACA,aAAO,IAAP;AAC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A;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,W;;;;;AACF;AACJ;AACA;AACA;AACI,uBAAY,UAAZ,EAAwB;AAAA;;AAAA;;AACpB;AACA,kCAAe,UAAf;AAEA,UAAK,IAAL,GAAY,WAAW,CAAC,UAAD,CAAvB;AACA,UAAK,OAAL,GAAe,MAAK,IAAL,CAAU,KAAV,EAAf;AACA,UAAK,SAAL,GAAiB,IAAI,GAAJ,EAAjB;AANoB;AAQvB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,IAAZ,EAAkB,QAAlB,EAA4B;AACxB,oCAAe,IAAf;AACA,sCAAiB,QAAjB;AACA,WAAK,SAAL,CAAe,GAAf,CAAmB,IAAnB,EAAyB,QAAzB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,SAAS,CAAC,KAAV,CAAgB,IAAhB,EAAsB,CAAC,KAAD,CAAtB,CAAP;AACH;;;;EAxCqB,U;;;;AA2C1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CA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,a;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,2BAAc;AAAA;;AAAA;;AACV;AACA,UAAK,QAAL,GAAgB,MAAM,CAAC,MAAP,CAAc,EAAd,EAAkB,MAAK,QAAvB,EAAiC,wBAAwB,CAAC,IAAzB,+BAAjC,CAAhB;;AACA,UAAK,IAAL;;AAHU;AAIb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;SACI,eAAe;AACX,aAAO;AACH,QAAA,UAAU,EAAE,MADT;AAEH,QAAA,cAAc,EAAE;AAFb,OAAP;AAIH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,GAAV,EAAe,YAAf,EAA6B;AAAA;;AACzB,oCAAe,GAAf;AACA,UAAI,CAAC,qBAAG,KAAK,QAAR,mDAAG,eAAgB,GAAhB,CAAR;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,YAAP;AACrB,aAAO,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,MAAA,cAAc,CAAC,IAAf,CAAoB,IAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,IAAP;AAC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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAT,GAAuB;AAAA;;AACnB,MAAI,QAAQ,iBAAG,wBAAH,+CAAG,WAAc,UAAd,CAAf;;AACA,MAAI,QAAO,QAAP,MAAoB,QAAxB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,QAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AAAA;;AACjB,MAAI,MAAM,kBAAG,wBAAH,gDAAG,YAAc,QAAd,CAAb;;AACA,MAAI,QAAO,MAAP,MAAkB,QAAtB,EAAgC;AAC5B,UAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AAED,SAAO,MAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,6BAAT,CAAuC,IAAvC,EAA6C;AACzC,gCAAe,IAAf;AAEA,MAAM,QAAQ,GAAG,WAAW,EAA5B;AACA,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAT,CAAuB,UAAvB,CAAjB;AACA,EAAA,QAAQ,CAAC,SAAT,GAAqB,IAArB;AAEA,SAAO,QAAQ,CAAC,OAAhB;AACH;;AAGD,gBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,SAAzC,EAAoD,WAApD,EAAiE,6BAAjE;;;ACzMA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,O;;;;;AACF,qBAAc;AAAA;;AAAA;;AACV;AAEA;AACR;AACA;AACA;AACA;;AACQ,UAAK,QAAL,GAAgB,WAAhB;AARU;AASb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;AACP,sCAAiB,KAAjB,EAAwB,kBAAxB;;AAEA,UAAI,KAAK,QAAL,GAAgB,KAAK,CAAC,WAAN,EAApB,EAAyC;AACrC,eAAO,KAAP;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAY,QAAZ,EAAsB;AAClB,qCAAgB,QAAhB;AACA,WAAK,QAAL,GAAgB,QAAhB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAc;AACV,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,kBAAS;AACL,WAAK,WAAL,CAAiB,WAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,WAAK,WAAL,CAAiB,aAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,WAAK,WAAL,CAAiB,aAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,WAAK,WAAL,CAAiB,YAAjB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,W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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,KAAK,KAAK,SAAd,EAAyB,OAAO,KAAP;AACzB,MAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,KAAP;AACpB,SAAO,QAAO,KAAP,aAAO,KAAP,uBAAO,KAAK,CAAG,MAAM,CAAC,QAAV,CAAZ,MAAoC,UAA3C;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,KAArB,EAA4B;AACxB,MAAI,IAAJ;;AAEA,MAAI,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,IAAjC,IAAyC,KAAK,KAAK,GAAvD,EAA4D;AACxD,WAAO,IAAP;AACH;;AAED,EAAA,IAAI,WAAU,KAAV,CAAJ;;AAEA,MAAI,IAAI,KAAK,QAAT,IAAqB,IAAI,KAAK,QAA9B,IAA0C,IAAI,KAAK,SAAnD,IAAgE,IAAI,KAAK,QAA7E,EAAuF;AACnF,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,KAAhC,EAAuC;AACnC,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AACrB,MAAI,KAAK,KAAK,SAAV,IAAuB,OAAO,KAAP,KAAiB,QAA5C,EAAsD;AAClD,WAAO,KAAP;AACH;;AACD,SAAO,IAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,QAAT,CAAkB,KAAlB,EAAyB;AAErB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,QAAO,KAAP,MAAiB,QAArB,EAA+B;AAC3B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B,QAA3B,EAAqC;AAEjC,MAAI,CAAC,QAAQ,CAAC,KAAD,CAAb,EAAsB,OAAO,KAAP;AACtB,MAAI,CAAC,UAAU,CAAC,QAAD,CAAf,EAA2B,OAAO,KAAP;AAC3B,MAAI,CAAC,QAAQ,CAAC,cAAT,CAAwB,WAAxB,CAAL,EAA2C,OAAO,KAAP;AAC3C,SAAQ,KAAK,YAAY,QAAlB,GAA8B,IAA9B,GAAqC,KAA5C;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,OAAT,CAAiB,KAAjB,EAAwB;AACpB,MAAI,KAAK,CAAC,OAAN,CAAc,KAAd,CAAJ,EAA0B;AACtB,WAAO,IAAP;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,KAApB,EAA2B;AACvB,MAAI,OAAO,CAAC,KAAD,CAAX,EAAoB,OAAO,KAAP;AACpB,MAAI,WAAW,CAAC,KAAD,CAAf,EAAwB,OAAO,KAAP;;AAExB,MAAI,OAAO,KAAP,KAAiB,UAArB,EAAiC;AAC7B,WAAO,IAAP;AACH;;AAED,SAAO,KAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AACtB,SAAO,MAAM,CAAC,SAAP,CAAiB,KAAjB,CAAP;AACH;;AAGD,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,WAA3C,EAAwD,SAAxD,EAAmE,QAAnE,EAA6E,QAA7E,EAAuF,OAAvF,EAAgG,UAAhG,EAA4G,UAA5G,EAAwH,SAAxH;;;AC5WA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,Q;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAA+B;AAAA;;AAAA;;AAC3B;;AAEA,QAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC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;AA7EW,GAAhB;AAkFA,SAAO,OAAP;AACH;;;;;;;;;;;;;;;;;;ACvPD;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,K;;;;;AAEF;AACJ;AACA;AACI,mBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,IAAL,GAAY,EAAZ;AAFU;AAGb;AAGD;AACJ;AACA;;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAL,CAAU,MAAV,KAAqB,CAA5B;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AAED,aAAO,KAAK,IAAL,CAAU,CAAV,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,WAAK,IAAL,CAAU,IAAV,CAAe,KAAf;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ,WAAK,IAAL,GAAY,EAAZ;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gBAAO;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,aAAO,KAAK,IAAL,CAAU,KAAV,EAAP;AACH;;;;EA/De,U;;;;AAoEpB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,KAA3C;;;ACpHA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,CAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;;AACA,SAAS,iBAAT,CAA2B,KAA3B,EAAkC;AAC9B,MAAI,CAAC,qBAAY,KAAZ,CAAL,EAAyB;AACrB,UAAM,IAAI,SAAJ,CAAc,0BAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAA+B;AAC3B,MAAI,CAAC,kBAAS,KAAT,CAAL,EAAsB;AAClB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAA+B;AAC3B,MAAI,CAAC,kBAAS,KAAT,CAAL,EAAsB;AAClB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,gBAAT,CA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",
   "file": "generated.js",
   "sourceRoot": "",
   "sourcesContent": [
     "(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()",
     "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.\n *\n * derived classes must implement the method isValid().\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractConstraint extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n    }\n\n    /**\n     * this method must return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.reject(value);\n    }\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractConstraint);\nexport {Monster, AbstractConstraint}",
     "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * Operators allow you to link constraints together. for example, you can check whether a value is an object or an array. each operator has two operands that are linked together.\n * \n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AbstractOperator extends AbstractConstraint {\n\n    /**\n     *\n     * @param {AbstractConstraint} operantA\n     * @param {AbstractConstraint} operantB\n     * @throws {TypeError} \"parameters must be from type AbstractConstraint\"\n     */\n    constructor(operantA, operantB) {\n        super();\n\n        if (!(operantA instanceof AbstractConstraint) || !(operantB instanceof AbstractConstraint)) {\n            throw new TypeError(\"parameters must be from type AbstractConstraint\")\n        }\n\n        this.operantA = operantA;\n        this.operantB = operantB;\n\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AbstractOperator);\nexport {Monster, AbstractOperator}",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n    /**\n     * this method return a rejected promise\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        if (isArray(value)) {\n            return Promise.resolve(value);\n        }\n\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        if (isObject(value)) {\n            return Promise.resolve(value);\n        }\n\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        var self = this;\n\n        return new Promise(function (resolve, reject) {\n            let a, b;\n\n            self.operantA.isValid(value)\n                .then(function () {\n                    resolve();\n                }).catch(function () {\n                a = false;\n                /** b has already been evaluated and was not true */\n                if (b === false) {\n                    reject();\n                }\n            });\n\n            self.operantB.isValid(value)\n                .then(function () {\n                    resolve();\n                }).catch(function () {\n                b = false;\n                /** b has already been evaluated and was not true */\n                if (a === false) {\n                    reject();\n                }\n            });\n        });\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.resolve(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n *     a: 1,\n *     b: \"Hello!\"\n * }\n *\n *  let y = {\n *     a: 2,\n *     c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * //        operator: 'update',\n * //        path: [ 'a' ],\n * //        first: { value: 1, type: 'number' },\n * //        second: { value: 2, type: 'number' }\n * //    },\n * // {\n * //        operator: 'delete',\n * //        path: [ 'b' ],\n * //        first: { value: 'Hello!', type: 'string' }\n * //    },\n * // {\n * //        operator: 'add',\n * //        path: [ 'c' ],\n * //        second: { value: true, type: 'boolean' }\n * //    }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n    return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n    if (isArray(type)) {\n        const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n        keys.fill(0);\n        return new Set(keys.map((_, i) => i));\n    }\n\n    return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n    let typeA = typeof a\n    let typeB = typeof b\n\n    const currPath = path || [];\n    const currDiff = diff || [];\n\n    if (typeA === typeB && typeA === 'object') { // array is object too\n\n        getKeys(a, b, typeA).forEach((v) => {\n\n            if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n                currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n            } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n                currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n            } else {\n                doDiff(a[v], b[v], currPath.concat(v), currDiff);\n            }\n        });\n\n    } else {\n\n        const o = getOperator(a, b, typeA, typeB);\n        if (o !== undefined) {\n            currDiff.push(buildResult(a, b, o, path));\n        }\n\n    }\n\n    return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n    const result = {\n        operator,\n        path,\n    };\n\n    if (operator !== 'add') {\n        result.first = {\n            value: a,\n            type: typeof a\n        };\n\n        if (isObject(a)) {\n            const name = Object.getPrototypeOf(a)?.constructor?.name;\n            if (name !== undefined) {\n                result.first.instance = name;\n            }\n        }\n    }\n\n    if (operator === 'add' || operator === 'update') {\n        result.second = {\n            value: b,\n            type: typeof b\n        };\n\n        if (isObject(b)) {\n            const name = Object.getPrototypeOf(b)?.constructor?.name;\n            if (name !== undefined) {\n                result.second.instance = name;\n            }\n        }\n\n    }\n\n    return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n    if (typeof a !== typeof b) {\n        return true;\n    }\n\n    if (a instanceof Date && b instanceof Date) {\n        return a.getTime() !== b.getTime();\n    }\n\n    return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n    /**\n     * @type {string|undefined}\n     */\n    let operator;\n\n    /**\n     * @type {string}\n     */\n    let typeA = typeof a;\n\n    /**\n     * @type {string}\n     */\n    let typeB = typeof b;\n\n    if (typeA === 'undefined' && typeB !== 'undefined') {\n        operator = 'add';\n    } else if (typeA !== 'undefined' && typeB === 'undefined') {\n        operator = 'delete';\n    } else if (isNotEqual(a, b)) {\n        operator = 'update';\n    }\n\n    return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n *     b: {\n *         f: [\n *             {\n *                 g: false,\n *             }\n *         ],\n *     }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n *     b: {\n *         f: [\n *             {\n *                 g: false,\n *             }\n *         ],\n *     }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n *  console.log(value);\n *  // ↦ false\n *\n * try {\n *   new Pathfinder({}).getVia(\"a.b.f.0.g\");  \n * } catch(e) {\n *   console.log(e.toString());\n *   // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n *                a: {\n *                    x: [\n *                        {c: 1}, {c: 2}\n *                    ],\n *                    y: true\n *                },\n *                b: {\n *                    x: [\n *                        {c: 1, d: false}, {c: 2}\n *                    ],\n *                    y: true\n *                },\n *            });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n    /**\n     * @param {array|object|Map|Set} value\n     * @since 1.4.0\n     **/\n    constructor(object) {\n        super();\n        this.object = object;\n        this.wildCard = WILDCARD;\n    }\n\n    /**\n     * set wildcard\n     *\n     * @param {string} wildcard\n     * @return {Pathfinder}\n     * @since 1.7.0\n     */\n    setWildCard(wildcard) {\n        validateString(wildcard);\n        this.wildCard = wildcard;\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @since 1.4.0\n     * @returns {*}\n     * @throws {TypeError} unsupported type\n     * @throws {Error} the journey is not at its end\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    getVia(path) {\n        validateString(path);\n        return getValueViaPath.call(this, this.object, path);\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @param {*} value\n     * @returns {Pathfinder}\n     * @since 1.4.0\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    setVia(path, value) {\n        validateString(path);\n        setValueViaPath.call(this, this.object, path, value);\n        return this;\n    }\n\n    /**\n     * Delete Via Path\n     *\n     * @param {string} path\n     * @returns {Pathfinder}\n     * @since 1.6.0\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    deleteVia(path) {\n        validateString(path);\n        deleteValueViaPath.call(this, this.object, path);\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @return {bool}\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @since 1.4.0\n     */\n    exists(path) {\n        validateString(path);\n        try {\n            getValueViaPath.call(this, this.object, path, true);\n            return true;\n        } catch (e) {\n\n        }\n\n        return false;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n    const result = new Map;\n\n    if (isObject(subject) || isArray(subject)) {\n        for (const [key, value] of Object.entries(subject)) {\n            result.set(key, getValueViaPath.call(this, value, path, check))\n        }\n    } else {\n        let key= path.split(DELIMITER).shift();\n        result.set(key, getValueViaPath.call(this, subject, path, check));\n    }\n\n    return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n    if (path === \"\") {\n        return subject;\n    }\n\n    let parts = path.split(DELIMITER)\n    let current = parts.shift();\n\n    if (current === this.wildCard) {\n        return iterate.call(this, subject, parts.join(DELIMITER), check);\n    }\n\n    if (isObject(subject) || isArray(subject)) {\n\n        let anchor;\n        if (subject instanceof Map || subject instanceof WeakMap) {\n            anchor = subject.get(current);\n\n        } else if (subject instanceof Set || subject instanceof WeakSet) {\n            current = parseInt(current);\n            validateInteger(current)\n            anchor = [...subject]?.[current];\n\n        } else if (subject instanceof WeakRef) {\n            throw Error('unsupported action for this data type');\n\n        } else if (isArray(subject)) {\n            current = parseInt(current);\n            validateInteger(current)\n            anchor = subject?.[current];\n        } else {\n            anchor = subject?.[current];\n        }\n\n        if (isObject(anchor) || isArray(anchor)) {\n            return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n        }\n\n        if (parts.length > 0) {\n            throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n        }\n\n        if (check === true && !subject.hasOwnProperty(current)) {\n            throw Error('unknown value');\n        }\n\n        return anchor;\n\n    }\n\n    throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n    validateString(path);\n    \n    let parts = path.split(DELIMITER)\n    let last = parts.pop();\n    let subpath = parts.join(DELIMITER);\n\n    let stack = new Stack()\n    let current = subpath;\n    while (true) {\n\n        try {\n            getValueViaPath.call(this, object, current, true)\n            break;\n        } catch (e) {\n\n        }\n\n        stack.push(current);\n        parts.pop();\n        current = parts.join(DELIMITER);\n\n        if (current === \"\") break;\n    }\n\n    while (!stack.isEmpty()) {\n        current = stack.pop();\n        let obj = {};\n\n        if (!stack.isEmpty()) {\n            let n = stack.peek().split(DELIMITER).pop();\n            if (isInteger(parseInt(n))) {\n                obj = [];\n            }\n\n        }\n\n        setValueViaPath.call(this, object, current, obj);\n    }\n\n    let anchor = getValueViaPath.call(this, object, subpath);\n\n    if (!isObject(object) && !isArray(object)) {\n        throw TypeError(\"unsupported type: \" + typeof object);\n    }\n\n    if (anchor instanceof Map || anchor instanceof WeakMap) {\n        anchor.set(last, value);\n    } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n        anchor.append(value)\n\n    } else if (anchor instanceof WeakRef) {\n        throw Error('unsupported action for this data type');\n\n    } else if (isArray(anchor)) {\n        last = parseInt(last);\n        validateInteger(last)\n        anchor[last] = value;\n    } else {\n        anchor[last] = value;\n    }\n\n    return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n    const parts = path.split(DELIMITER)\n    let last = parts.pop();\n    const subpath = parts.join(DELIMITER);\n\n    const anchor = getValueViaPath.call(this, object, subpath);\n\n    if (anchor instanceof Map) {\n        anchor.delete(last);\n    } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n        throw Error('unsupported action for this data type');\n\n    } else if (isArray(anchor)) {\n        last = parseInt(last);\n        validateInteger(last)\n        delete anchor[last];\n    } else {\n        delete anchor[last];\n    }\n\n    return;\n\n}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n *    a: {\n *        b: {\n *            c: {\n *                d: \"world\"\n *            }\n *        }\n *    }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n    /**\n     *\n     * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n     * @throws {TypeError} \n     */\n    constructor(pipe) {\n        super();\n        validateString(pipe);\n        this.pipe = pipe.split(DELIMITER).map((v) => {\n            return new Transformer(v);\n        });\n\n    }\n\n    /**\n     * run a pipe\n     *\n     * @param {*} value\n     * @returns {*}\n     */\n    run(value) {\n        return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => {\n            return currentValue.run(accumulator);\n        }, value);\n    }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n *  | command      | parameter                  | alias                   | description                                                                                                                                                                                                                                                                                                                                                |\n *  |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n *  | base64       |                            |                         | Converts the value to base64                                                                                                                                                                                                                                                                                                                               |\n *  | call         | function,param1:param2:... |                         | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object                                                                                                                                                                                                            |\n *  | empty        |                            |                         | Return empty String \"\"                                                                                                                                                                                                                                                                                                                                     |\n *  | if           | statement1:statement2      | ?                       | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n *  | index        | key:default                | property, key           | Fetches a value from an object, an array, a map or a set                                                                                                                                                                                                                                                                                                   |\n *  | length       |                            | count                   | Length of the string or entries of an array or object                                                                                                                                                                                                                                                                                                      |\n *  | nop          |                            |                         | Do nothing                                                                                                                                                                                                                                                                                                                                                 |\n *  | path         | path                       |                         | The access to an object is done via a Pathfinder object                                                                                                                                                                                                                                                                                                    |\n *  | plaintext    |                            | plain                   | All HTML tags are removed (*)                                                                                                                                                                                                                                                                                                                              |\n *  | prefix       | text                       |                         | Adds a prefix                                                                                                                                                                                                                                                                                                                                              |\n *  | rawurlencode |                            |                         | URL coding                                                                                                                                                                                                                                                                                                                                                 |\n *  | static       |                            | none                    | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\.                                                                                                                                                                                                                                    |\n *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |\n *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |\n *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |\n *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |\n *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |\n *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |\n *  | trim         |                            |                         | Remove spaces at the beginning and end                                                                                                                                                                                                                                                                                                                     |\n *  | ucfirst      |                            |                         | First character large                                                                                                                                                                                                                                                                                                                                      |\n *  | ucwords      |                            |                         | Any word beginning large                                                                                                                                                                                                                                                                                                                                   |\n *  | undefined    |                            |                         | Return undefined                                                                                                                                                                                                                                                                                                                                           |\n *  | uniqid       |                            |                         | Creates a string with a unique value (**)                                                                                                                                                                                                                                                                                                                  |\n * \n *  (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n *  // polyfill\n *  if (typeof window !== \"object\") {\n *     const {window} = new JSDOM('', {\n *         url: 'http://example.com/',\n *         pretendToBeVisual: true\n *     });\n * \n *     [\n *         'self',\n *         'document',\n *         'Node',\n *         'Element',\n *         'HTMLElement',\n *         'DocumentFragment',\n *         'DOMParser',\n *         'XMLSerializer',\n *         'NodeFilter',\n *         'InputEvent',\n *         'CustomEvent'\n *     ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n    /**\n     *\n     * @param {string} definition\n     */\n    constructor(definition) {\n        super();\n        validateString(definition);\n\n        this.args = disassemble(definition);\n        this.command = this.args.shift()\n        this.callbacks = new Map();\n\n    }\n\n    /**\n     *\n     * @param {string} name\n     * @param {function} callback\n     * @returns {Transformer}\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not a function\n     */\n    setCallback(name, callback) {\n        validateString(name)\n        validateFunction(callback)\n        this.callbacks.set(name, callback);\n        return this;\n    }\n\n    /**\n     *\n     * @param {*} value\n     * @returns {*}\n     * @throws {Error} unknown command\n     * @throws {TypeError} unsupported type\n     * @throws {Error} type not supported\n     */\n    run(value) {\n        return transform.apply(this, [value])\n    }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n    validateString(command);\n    \n    let placeholder = new Map;\n    const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n    // The separator for args must be quotable\n    // undefined string which should not occur normally and is also not a regex\n    let result = command.matchAll(regex)\n    \n    for (let m of result) {\n        let g=m?.['groups'];\n        if(!isObject(g)) {\n            continue;\n        }\n        \n        let p=g?.['pattern'];\n        let c=g?.['char'];\n        \n        if(p&&c) {\n            let r='__'+new ID().toString()+'__';\n            placeholder.set(r, c);\n            command=command.replace(p,r);\n        }\n        \n    }\n    let parts = command.split(':');\n\n    parts = parts.map(function (value) {\n        let v =  value.trim();\n        for(let k of placeholder) {\n           v= v.replace(k[0], k[1]);\n        }\n        return v;\n        \n        \n    });\n\n    return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n    if (isObject(value) && value.hasOwnProperty('toString')) {\n        value = value.toString();\n    }\n\n    validateString(value)\n    return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n    let args = clone(this.args);\n    let key\n\n    switch (this.command) {\n\n        case 'static':\n            return this.args.join(':');\n\n        case 'tolower':\n        case 'strtolower':\n        case 'tolowercase':\n            validateString(value)\n            return value.toLowerCase();\n\n        case 'toupper':\n        case 'strtoupper':\n        case 'touppercase':\n            validateString(value)\n            return value.toUpperCase();\n\n        case 'tostring':\n            return \"\" + value;\n\n        case 'tointeger':\n            let n = parseInt(value);\n            validateInteger(n);\n            return n\n\n        case 'trim':\n            validateString(value)\n            return value.trim();\n\n        case 'rawurlencode':\n            validateString(value)\n            return encodeURIComponent(value)\n                .replace(/!/g, '%21')\n                .replace(/'/g, '%27')\n                .replace(/\\(/g, '%28')\n                .replace(/\\)/g, '%29')\n                .replace(/\\*/g, '%2A');\n\n\n        case  'call':\n\n            /**\n             * callback-definition\n             * function callback(value, ...args) {\n             *   return value;\n             * }\n             */\n\n            let callback;\n            let callbackName = args.shift();\n\n            if (isObject(value) && calue.hasOwnProperty(callbackName)) {\n                callback = value[callbackName];\n            } else if (this.callbacks.has(callbackName)) {\n                callback = this.callbacks.get(callbackName);\n            } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n                callback = window[callbackName];\n            }\n            validateFunction(callback);\n\n            args.unshift(value);\n            return callback(...args);\n\n        case  'plain':\n        case  'plaintext':\n            validateString(value);\n            let doc = new DOMParser().parseFromString(value, 'text/html');\n            return doc.body.textContent || \"\";\n\n        case  'if':\n        case  '?':\n\n            validatePrimitive(value);\n\n            let trueStatement = (args.shift() || undefined);\n            let falseStatement = (args.shift() || undefined);\n\n            if (trueStatement === 'value') {\n                trueStatement = value;\n            }\n            if (trueStatement === '\\\\value') {\n                trueStatement = 'value';\n            }\n            if (falseStatement === 'value') {\n                falseStatement = value;\n            }\n            if (falseStatement === '\\\\value') {\n                falseStatement = 'value';\n            }\n\n            let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n            return condition ? trueStatement : falseStatement;\n\n\n        case 'ucfirst':\n            validateString(value);\n\n            let firstchar = value.charAt(0).toUpperCase();\n            return firstchar + value.substr(1);\n        case 'ucwords':\n            validateString(value);\n\n            return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n                return v.toUpperCase();\n            });\n\n        case  'count':\n        case  'length':\n\n            if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n                return value.length;\n            }\n\n            throw new TypeError(\"unsupported type\");\n\n        case 'base64':\n            convertToString(value);\n            return btoa(value);\n\n        case 'empty':\n            return '';\n\n        case 'undefined':\n            return undefined;\n\n        case 'prefix':\n            validateString(value);\n            let prefix = args?.[0];\n            return prefix + value;\n\n        case 'suffix':\n            validateString(value);\n            let suffix = args?.[0];\n            return value + suffix;\n\n        case 'uniqid':\n            return (new ID()).toString();\n\n        case 'key':\n        case 'property':\n        case 'index':\n\n            key = (args.shift() || 'undefined');\n            let defaultValue = (args.shift() || '');\n\n            if (value instanceof Map) {\n                if(!value.has(key)) {\n                    return defaultValue;\n                }\n                return value.get(key);\n            }\n\n            if (isObject(value)||isArray(value)) {\n\n                if (value?.[key]) {\n                    return value?.[key];\n                }\n\n                return defaultValue;\n            }\n\n            throw new Error(\"type not supported\")\n\n        case 'path':\n\n            key = (args.shift() || 'undefined');\n            return new Pathfinder(value).getVia(key);\n            \n            \n        case 'substring':\n\n            validateString(value);\n            \n            let start = parseInt(args[0]) || 0;\n            let end = (parseInt(args[1]) || 0) + start;\n\n            return value.substring(start, end);\n            \n        case 'nop':\n            return value;\n\n        default:\n            throw new Error(\"unknown command \"+this.command)\n    }\n\n    return value;\n}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n    /**\n     * @param {DocumentFragment} fragment\n     * @throws {TypeError} value is not an instance of\n     * @throws {TypeError} value is not a function\n     * @throws {Error} the function is not defined\n     */\n    constructor(fragment) {\n        super();\n        this.attributePrefix = ATTRIBUTEPREFIX;\n        validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n        this.fragment = fragment;\n    }\n\n    /**\n     *\n     * @param {string} prefix\n     * @returns {Assembler}\n     * @throws {TypeError} value is not a string\n     */\n    setAttributePrefix(prefix) {\n        validateString(prefix);\n        this.attributePrefix = prefix;\n        return this;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getAttributePrefix() {\n        return this.attributePrefix;\n    }\n\n    /**\n     *\n     * @param {ProxyObserver|undefined} data\n     * @return {DocumentFragment}\n     * @throws {TypeError} value is not an instance of\n     */\n    createDocumentFragment(data) {\n\n        if (data === undefined) {\n            data = new ProxyObserver({});\n        }\n\n        validateInstance(data, ProxyObserver);\n        let fragment = this.fragment.cloneNode(true);\n        return fragment;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n *     display: none;\n * }\n *\n * my-custom-element:defined {\n *     display: flex;\n * }\n *\n * </style>\n * ```\n *\n * @example\n *\n * class MonsterMyElement extends CustomElement {\n *    constructor() {\n *        super();\n *\n *        this.template = `<div class=\"form-check\">\n *                           <label class=\"form-check-label\">\n *                               <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n *                               Checkvalue\n *                           </label>\n *                         </div>`\n *\n *        this.attachShadow({mode: 'open'});\n *        this.shadowRoot.innerHTML = this.template;\n *    }\n *\n *    static getTag() {\n *        return \"monster-my-element\"\n *    }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n    }\n\n    /**\n     * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n     * fetching resources or rendering. Generally, you should try to delay work until this time.\n     *\n     * @return {void}\n     */\n    connectedCallback() {\n\n    }\n\n    /**\n     * Called every time the element is removed from the DOM. Useful for running clean up code.\n     *\n     * @return {void}\n     */\n    disconnectedCallback() {\n\n    }\n\n    /**\n     * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n     *\n     * @return {void}\n     */\n    adoptedCallback() {\n\n    }\n\n    /**\n     * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n     * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n     *\n     * @param {string} attrName\n     * @param {string} oldVal\n     * @param {string} newVal\n     * @return {void}\n     */\n    attributeChangedCallback(attrName, oldVal, newVal) {\n\n    }\n\n    /**\n     * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n     * if the name is not valid, registerCustomElement() will issue an erro\n     *\n     * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n     * @return {string}\n     * @throws {Error} the method getTag must be overwritten by the derived class.\n     */\n    static getTag() {\n        throw new Error(\"the method getTag must be overwritten by the derived class.\");\n    }\n\n\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n    validateFunction(element);\n\n    let tag = element.getTag();\n\n    getGlobalObject('customElements').define(element.getTag(), element);\n    return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n    /**\n     *\n     * @param {ProxyObserver} data\n     */\n    constructor(data) {\n        super();\n\n        let self = this;\n\n        self.id = new ID();\n\n        validateInstance(data, ProxyObserver);\n\n        this.data = data\n\n        this.mutationObserver = createMutationObserver.call(this);\n        this.dataObserver = createDataObserver.call(this);\n        this.data.attachObserver(this.dataObserver);\n\n        this.nodes = new WeakSet\n        this.updates = new Stack();\n\n    }\n\n    /**\n     * @return {void}\n     */\n    update() {\n        return;\n    }\n\n    /**\n     *\n     * @param {HTMLElement|Document} node\n     * @return {Handle}\n     */\n    remove(node) {\n\n        if (isInstance(node, getGlobalFunction('Document'))) {\n            node = node.firstElementChild\n        }\n\n        validateInstance(node, getGlobalFunction('HTMLElement'))\n\n        if (!this.nodes.has(node)) {\n            return this;\n        }\n\n        this.mutationObserver.disconnect(node);\n\n        delete node.dataset[MONSTERDOMHANDLE]\n        node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n        return this;\n\n    }\n\n    /**\n     *\n     * @param {HTMLElement|Document} node\n     * @return {Handle}\n     */\n    append(node) {\n\n        if (isInstance(node, getGlobalFunction('Document'))) {\n            node = node.firstElementChild\n        }\n\n        validateInstance(node, getGlobalFunction('HTMLElement'))\n\n        if (this.nodes.has(node)) {\n            return this;\n        }\n\n        node.dataset[MONSTERDOMHANDLE] = this;\n        node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n        this.mutationObserver.observe(node, {\n            attributes: true,\n            childList: true,\n            subtree: true,\n            characterData: true,\n            characterDataOldValue: true,\n            attributeOldValue: true\n        });\n\n        this.nodes.add(node);\n\n        return this;\n\n    }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n    const self = this;\n\n    return new Observer(() => {\n        self.update();\n    });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n    const self = this;\n\n    /**\n     * @private\n     * @type {MutationObserver}\n     */\n    const MutationObserver = getGlobalFunction('MutationObserver');\n\n    // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n    return new MutationObserver((mutationsList, observer) => {\n\n            for (const mutation of mutationsList) {\n                self.updates.push(mutation);\n            }\n\n            self.update();\n        }\n    )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n    validateInstance(node, getGlobalFunction('Node'));\n\n    let handle = node.dataset?.[MONSTERDOMHANDLE];\n    if (handle === undefined) {\n        let parentNode = node?.['parentNode'];\n        if (isInstance(parentNode, getGlobalFunction('Node'))) {\n            return getHandleFromNode(parentNode)\n        }\n    }\n\n    return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n    /**\n     *\n     * @param {HTMLTemplateElement} template\n     * @throws {TypeError} value is not an instance of\n     * @throws {TypeError} value is not a function\n     * @throws {Error} the function is not defined\n     */\n    constructor(template) {\n        super();\n        const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n        validateInstance(template, HTMLTemplateElement);\n        this.template = template;\n    }\n\n    /**\n     *\n     * @returns {HTMLTemplateElement}\n     */\n    getTemplateElement() {\n        return this.template;\n    }\n\n    /**\n     *\n     * @return {DocumentFragment}\n     * @throws {TypeError} value is not an instance of\n     */\n    createDocumentFragment() {\n        return this.template.content.cloneNode(true);\n    }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n    validateString(id);\n    const document = getGlobalObject('document');\n    const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n    let theme = getDocumentTheme()\n    let themedID = id + '-' + theme.getName();\n\n    let template = document.getElementById(themedID);\n    if (template instanceof HTMLTemplateElement) {\n        return new Template(template);\n    }\n\n    template = document.getElementById(id);\n    if (template instanceof HTMLTemplateElement) {\n        return new Template(template);\n    }\n\n    throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\n\n/**\n * default theme\n * @type {string}\n */\nconst DEFAULT_THEME = 'monster';\n\n/**\n * @private\n * @type {string}\n */\nconst THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n    /**\n     *\n     * @param name\n     * @throws {TypeError} value is not a string\n     */\n    constructor(name) {\n        super();\n        validateString(name);\n        this.name = name;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getName() {\n        return this.name;\n    }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n    let document = getGlobalObject('document');\n    let name = DEFAULT_THEME;\n\n    let element = document.querySelector('html');\n    if (element instanceof HTMLElement) {\n        let theme = element.getAttribute(THEME_ATTRIBUTE_NAME);\n        if (theme) {\n            name = theme;\n        }\n    }\n\n    return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n    let document = getGlobal()?.['document'];\n    if (typeof document !== 'object') {\n        throw new Error(\"not supported environment\")\n    }\n\n    return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    getGlobal()['window']=window;\n * \n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n    let window = getGlobal()?.['window'];\n    if (typeof window !== 'object') {\n        throw new Error(\"not supported environment\")\n    }\n\n    return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n    validateString(html);\n\n    const document = getDocument();\n    const template = document.createElement('template');\n    template.innerHTML = html;\n    \n    return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n    constructor() {\n        super();\n\n        /**\n         * Loglevel\n         * \n         * @type {integer} \n         */\n        this.loglevel = OFF;\n    }\n\n    /**\n     * this is the central log function. this method must be\n     * overwritten by derived handlers with their own logic.\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {LogEntry} entry\n     * @returns {boolean}\n     */\n    log(entry) {\n        validateInstance(entry, LogEntry);\n\n        if (this.loglevel < entry.getLogLevel()) {\n            return false;\n        }\n\n        return true;\n    }\n\n    /**\n     * set loglevel\n     *\n     * @param {integer} loglevel\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setLogLevel(loglevel) {\n        validateInteger(loglevel)\n        this.loglevel = loglevel;\n        return this;\n    }\n\n    /**\n     * get loglevel\n     *\n     * @returns {integer}\n     * @since 1.5.0\n     */\n    getLogLevel() {\n        return this.loglevel;\n    }\n\n    /**\n     *  Set log level to All\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setAll() {\n        this.setLogLevel(ALL);\n        return this;\n    };\n\n    /**\n     * Set log level to Trace\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setTrace() {\n        this.setLogLevel(TRACE);\n        return this;\n    };\n\n    /**\n     * Set log level to Debug\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setDebug() {\n        this.setLogLevel(DEBUG);\n        return this;\n    };\n\n    /**\n     * Set log level to Info\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setInfo() {\n        this.setLogLevel(INFO);\n        return this;\n    };\n\n    /**\n     * Set log level to Warn\n     *\n     * @returns {undefined}\n     * @since 1.5.0\n     */\n    setWarn() {\n        this.setLogLevel(WARN);\n        return this;\n    };\n\n    /**\n     * Set log level to Error\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setError() {\n        this.setLogLevel(ERROR);\n        return this;\n    };\n\n    /**\n     * Set log level to Fatal\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setFatal() {\n        this.setLogLevel(FATAL);\n        return this;\n    };\n\n\n    /**\n     * Set log level to Off\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setOff() {\n        this.setLogLevel(OFF);\n        return this;\n    };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n    constructor() {\n        super();\n    }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from  '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n    /**\n     *\n     * @param {int} loglevel\n     * @param {*} args\n     */\n    constructor(loglevel, ...args) {\n        super();\n        validateInteger(loglevel);\n\n        this.loglevel = loglevel\n        this.arguments = args\n    }\n\n    /**\n     *\n     * @returns {integerr}\n     */\n    getLogLevel() {\n        return this.loglevel\n    }\n\n    /**\n     *\n     * @returns {array}\n     */\n    getArguments() {\n        return this.arguments\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.handler = new Set;\n    }\n\n    /**\n     *\n     * @param {Handler} handler\n     * @returns {Logger}\n     * @throws {Error} the handler must be an instance of Handler\n     */\n    addHandler(handler) {\n        validateObject(handler)\n        if (!(handler instanceof Handler)) {\n            throw new Error(\"the handler must be an instance of Handler\")\n        }\n\n        this.handler.add(handler)\n        return this;\n    }\n\n    /**\n     *\n     * @param {Handler} handler\n     * @returns {Logger}\n     * @throws {Error} the handler must be an instance of Handler\n     */\n    removeHandler(handler) {\n        validateObject(handler)\n        if (!(handler instanceof Handler)) {\n            throw new Error(\"the handler must be an instance of Handler\")\n        }\n\n        this.handler.delete(handler);\n        return this;\n    }\n\n    /**\n     * log Trace message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logTrace() {\n        triggerLog.apply(this, [TRACE, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Debug message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logDebug() {\n        triggerLog.apply(this, [DEBUG, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Info message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logInfo() {\n        triggerLog.apply(this, [INFO, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Warn message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logWarn() {\n        triggerLog.apply(this, [WARN, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Error message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logError() {\n        triggerLog.apply(this, [ERROR, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Fatal message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logFatal() {\n        triggerLog.apply(this, [FATAL, ...arguments]);\n        return this;\n    };\n\n\n    /**\n     * Labels\n     *\n     * @param {integer} level\n     * @returns {string}\n     */\n    getLabel(level) {\n        validateInteger(level);\n\n        if (level === ALL) return 'ALL';\n        if (level === TRACE) return 'TRACE';\n        if (level === DEBUG) return 'DEBUG';\n        if (level === INFO) return 'INFO';\n        if (level === WARN) return 'WARN';\n        if (level === ERROR) return 'ERROR';\n        if (level === FATAL) return 'FATAL';\n        if (level === OFF) return 'OFF';\n\n        return 'unknown';\n    };\n\n    /**\n     * Level\n     *\n     * @param {string} label\n     * @returns {integer}\n     */\n    getLevel(label) {\n        validateString(label);\n\n        if (label === 'ALL') return ALL;\n        if (label === 'TRACE') return TRACE;\n        if (label === 'DEBUG') return DEBUG;\n        if (label === 'INFO') return INFO;\n        if (label === 'WARN') return WARN;\n        if (label === 'ERROR') return ERROR;\n        if (label === 'FATAL') return FATAL;\n        if (label === 'OFF') return OFF;\n\n        return 0;\n    };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n    var logger = this;\n\n    for (let handler of logger.handler) {\n        handler.log(new LogEntry(loglevel, args))\n    }\n\n    return logger;\n\n}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n    if (min === undefined) {\n        min = 0;\n    }\n    if (max === undefined) {\n        max = MAX;\n    }\n\n    if (max < min) {\n        throw new Error(\"max must be greater than min\");\n    }\n\n    return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n    return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n    let crypt;\n    let globalReference = getGlobal();\n\n    crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n    if (typeof crypt === \"undefined\") {\n        throw new Error(\"missing crypt\")\n    }\n\n    let rval = 0;\n    const range = max - min;\n    if (range < 2) {\n        return min;\n    }\n\n    const bitsNeeded = Math.ceil(Math.log2(range));\n    if (bitsNeeded > 53) {\n        throw  new Error(\"we cannot generate numbers larger than 53 bits.\");\n    }\n    const bytesNeeded = Math.ceil(bitsNeeded / 8);\n    const mask = Math.pow(2, bitsNeeded) - 1;\n\n    const byteArray = new Uint8Array(bytesNeeded);\n    crypt.getRandomValues(byteArray);\n\n    let p = (bytesNeeded - 1) * 8;\n    for (var i = 0; i < bytesNeeded; i++) {\n        rval += byteArray[i] * Math.pow(2, p);\n        p -= 8;\n    }\n\n    rval = rval & mask;\n\n    if (rval >= range) {\n        return create(min, max);\n    }\n\n    return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The AndOperator is used to link several contraints. The constraint is fulfilled if all constraints of the operators are fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new Monster.Constraint.AndOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n * new AndOperator();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';\n *\n * new AndOperator(\n * new Valid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new AndOperator(\n * new Invalid(), new Valid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass AndOperator extends AbstractOperator {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.all([this.operantA.isValid(value), this.operantB.isValid(value)]);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', AndOperator);\nexport {Monster, AndOperator}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Monster.Constraint.Invalid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * new Invalid();\n * </script>\n * ```\n *\n * @example\n *\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n *\n * new Invalid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Invalid extends AbstractConstraint {\n\n    /**\n     * this method return a rejected promise\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Invalid);\nexport {Monster, Invalid}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isArray} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new Monster.Constraint.IsArray())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n * console.log(new IsArray())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';\n *\n * new IsArray()\n * .isValid([])\n * .then(()=>console.log(true));\n * // ↦ true\n *\n * new IsArray()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsArray extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        if (isArray(value)) {\n            return Promise.resolve(value);\n        }\n\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsArray);\nexport {Monster, IsArray}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\nimport {isObject} from \"../types/is.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new Monster.Constraint.IsObject())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n * console.log(new IsObject())\n * </script>\n * ```\n * \n * @example\n *\n * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';\n *\n * new IsObject()\n * .isValid({})\n * .then(()=>console.log(true));\n * // ↦ true\n *\n *\n * new IsObject()\n * .isValid(99)\n * .catch(e=>console.log(e));\n * // ↦ 99\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass IsObject extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        if (isObject(value)) {\n            return Promise.resolve(value);\n        }\n\n        return Promise.reject(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', IsObject);\nexport {Monster, IsObject}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractOperator} from \"./abstractoperator.js\";\n\n/**\n * The OrOperator is used to link several constraints. The constraint is fulfilled if one of the constraints is fulfilled.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new Monster.Constraint.OrOperator();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';\n * new OrOperator();\n * </script>\n * ```\n *\n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';\n * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';\n *\n * new OrOperator(\n * new Valid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * new OrOperator(\n * new Invalid(), new Invalid()).isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ false\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass OrOperator extends AbstractOperator {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        var self = this;\n\n        return new Promise(function (resolve, reject) {\n            let a, b;\n\n            self.operantA.isValid(value)\n                .then(function () {\n                    resolve();\n                }).catch(function () {\n                a = false;\n                /** b has already been evaluated and was not true */\n                if (b === false) {\n                    reject();\n                }\n            });\n\n            self.operantB.isValid(value)\n                .then(function () {\n                    resolve();\n                }).catch(function () {\n                b = false;\n                /** b has already been evaluated and was not true */\n                if (a === false) {\n                    reject();\n                }\n            });\n        });\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', OrOperator);\nexport {Monster, OrOperator}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, AbstractConstraint} from \"./abstract.js\";\n\n/**\n * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.\n *\n * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Monster.Constraint.Valid();\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n * new Valid();\n * </script>\n * ```\n * \n * @example\n *\n * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';\n *\n * new Valid().isValid()\n * .then(()=>console.log(true))\n * .catch(()=>console.log(false));\n * // ↦ true\n *\n * @since 1.3.0\n * @copyright schukai GmbH\n * @memberOf Monster/Constraints\n */\nclass Valid extends AbstractConstraint {\n\n    /**\n     * this method return a promise containing the result of the check.\n     *\n     * @param {*} value\n     * @returns {Promise}\n     */\n    isValid(value) {\n        return Promise.resolve(value);\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Constraints', Valid);\nexport {Monster, Valid}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, isArray, isObject} from \"../types/is.js\";\n\n/**\n * With the diff function you can perform the change of one object to another. The result shows the changes of the second object to the first object.\n *\n * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.\n *\n * You can call the method via the monster namespace `Monster.Data.Diff()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Monster.Data.Diff(a, b))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * console.log(Diff(a, b))\n * </script>\n * ```\n *\n * @example\n * \n * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';\n * \n * // given are two objects x and y.\n *\n * let x = {\n *     a: 1,\n *     b: \"Hello!\"\n * }\n *\n *  let y = {\n *     a: 2,\n *     c: true\n * }\n *\n * // These two objects can be compared with each other.\n *\n * console.log(Diff(x, y));\n *\n * // the result is then the following\n *\n * //\n * // [\n * // {\n * //        operator: 'update',\n * //        path: [ 'a' ],\n * //        first: { value: 1, type: 'number' },\n * //        second: { value: 2, type: 'number' }\n * //    },\n * // {\n * //        operator: 'delete',\n * //        path: [ 'b' ],\n * //        first: { value: 'Hello!', type: 'string' }\n * //    },\n * // {\n * //        operator: 'add',\n * //        path: [ 'c' ],\n * //        second: { value: true, type: 'boolean' }\n * //    }\n * // ]\n *\n * @param {*} first\n * @param {*} second\n * @return {array}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nfunction Diff(first, second) {\n    return doDiff(first, second)\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param type\n * @return {Set<string>|Set<number>}\n */\nfunction getKeys(a, b, type) {\n    if (isArray(type)) {\n        const keys = a.length > b.length ? new Array(a.length) : new Array(b.length);\n        keys.fill(0);\n        return new Set(keys.map((_, i) => i));\n    }\n\n    return new Set(Object.keys(a).concat(Object.keys(b)));\n}\n\n/**\n * @private\n * @param a\n * @param b\n * @param path\n * @param diff\n * @return {array}\n */\nfunction doDiff(a, b, path, diff) {\n\n    let typeA = typeof a\n    let typeB = typeof b\n\n    const currPath = path || [];\n    const currDiff = diff || [];\n\n    if (typeA === typeB && typeA === 'object') { // array is object too\n\n        getKeys(a, b, typeA).forEach((v) => {\n\n            if (!(Object.prototype.hasOwnProperty.call(a, v))) {\n                currDiff.push(buildResult(a[v], b[v], 'add', currPath.concat(v)));\n            } else if (!(Object.prototype.hasOwnProperty.call(b, v))) {\n                currDiff.push(buildResult(a[v], b[v], 'delete', currPath.concat(v)));\n            } else {\n                doDiff(a[v], b[v], currPath.concat(v), currDiff);\n            }\n        });\n\n    } else {\n\n        const o = getOperator(a, b, typeA, typeB);\n        if (o !== undefined) {\n            currDiff.push(buildResult(a, b, o, path));\n        }\n\n    }\n\n    return currDiff;\n\n}\n\n/**\n *\n * @param {*} a\n * @param {*} b\n * @param {string} operator\n * @param {array} path\n * @return {{path: array, operator: string}}\n * @private\n */\nfunction buildResult(a, b, operator, path) {\n\n    const result = {\n        operator,\n        path,\n    };\n\n    if (operator !== 'add') {\n        result.first = {\n            value: a,\n            type: typeof a\n        };\n\n        if (isObject(a)) {\n            const name = Object.getPrototypeOf(a)?.constructor?.name;\n            if (name !== undefined) {\n                result.first.instance = name;\n            }\n        }\n    }\n\n    if (operator === 'add' || operator === 'update') {\n        result.second = {\n            value: b,\n            type: typeof b\n        };\n\n        if (isObject(b)) {\n            const name = Object.getPrototypeOf(b)?.constructor?.name;\n            if (name !== undefined) {\n                result.second.instance = name;\n            }\n        }\n\n    }\n\n    return result;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {boolean}\n */\nfunction isNotEqual(a, b) {\n\n    if (typeof a !== typeof b) {\n        return true;\n    }\n\n    if (a instanceof Date && b instanceof Date) {\n        return a.getTime() !== b.getTime();\n    }\n\n    return a !== b;\n}\n\n/**\n * @private\n * @param {*} a\n * @param {*} b\n * @return {string|undefined}\n */\nfunction getOperator(a, b) {\n\n    /**\n     * @type {string|undefined}\n     */\n    let operator;\n\n    /**\n     * @type {string}\n     */\n    let typeA = typeof a;\n\n    /**\n     * @type {string}\n     */\n    let typeB = typeof b;\n\n    if (typeA === 'undefined' && typeB !== 'undefined') {\n        operator = 'add';\n    } else if (typeA !== 'undefined' && typeB === 'undefined') {\n        operator = 'delete';\n    } else if (isNotEqual(a, b)) {\n        operator = 'update';\n    }\n\n    return operator;\n\n}\n\nMonster.assignToNamespace('Monster.Data', Diff);\nexport {Monster, Diff}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isArray, isInteger} from '../types/is.js';\nimport {validateString, validateInteger} from '../types/validate.js';\nimport {Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\n\n/**\n * path separator\n *\n * @private\n * @type {string}\n */\nconst DELIMITER = '.';\n/**\n * @private\n * @type {string}\n */\nconst WILDCARD = '*';\n\n/**\n * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Monster.Data.Pathfinder())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n * console.log(new Pathfinder())\n * </script>\n * ```\n *\n * With the help of the pathfinder, values can be read and written from an object construct.\n *\n * ```\n * new Pathfinder({\n * a: {\n *     b: {\n *         f: [\n *             {\n *                 g: false,\n *             }\n *         ],\n *     }\n * }\n * }).getVia(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * if a value is not present or has the wrong type, a corresponding exception is thrown.\n *\n * ```\n * new Pathfinder({}).getVia(\"a.b.f.0.g\"); // ↦ Error\n * ```\n *\n * The `Pathfinder.exists()` method can be used to check whether access to the path is possible.\n *\n * ```\n * new Pathfinder({}).exists(\"a.b.f.0.g\"); // ↦ false\n * ```\n *\n * pathfinder can also be used to build object structures. to do this, the `Pathfinder.setVia()` method must be used.\n *\n * ```\n * obj = {};\n * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}\n * ```\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let value = new Pathfinder({\n * a: {\n *     b: {\n *         f: [\n *             {\n *                 g: false,\n *             }\n *         ],\n *     }\n * }\n * }).getVia(\"a.b.f.0.g\");\n *\n *  console.log(value);\n *  // ↦ false\n *\n * try {\n *   new Pathfinder({}).getVia(\"a.b.f.0.g\");  \n * } catch(e) {\n *   console.log(e.toString());\n *   // ↦ Error: the journey is not at its end (b.f.0.g)\n * }\n *\n * @example\n *\n * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';\n *\n * let p = new Pathfinder({\n *                a: {\n *                    x: [\n *                        {c: 1}, {c: 2}\n *                    ],\n *                    y: true\n *                },\n *                b: {\n *                    x: [\n *                        {c: 1, d: false}, {c: 2}\n *                    ],\n *                    y: true\n *                },\n *            });\n * \n * let r = p.getVia(\"*.x.*.c\");\n * console.log(r);\n * \n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pathfinder extends Base {\n\n    /**\n     * @param {array|object|Map|Set} value\n     * @since 1.4.0\n     **/\n    constructor(object) {\n        super();\n        this.object = object;\n        this.wildCard = WILDCARD;\n    }\n\n    /**\n     * set wildcard\n     *\n     * @param {string} wildcard\n     * @return {Pathfinder}\n     * @since 1.7.0\n     */\n    setWildCard(wildcard) {\n        validateString(wildcard);\n        this.wildCard = wildcard;\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @since 1.4.0\n     * @returns {*}\n     * @throws {TypeError} unsupported type\n     * @throws {Error} the journey is not at its end\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    getVia(path) {\n        validateString(path);\n        return getValueViaPath.call(this, this.object, path);\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @param {*} value\n     * @returns {Pathfinder}\n     * @since 1.4.0\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    setVia(path, value) {\n        validateString(path);\n        setValueViaPath.call(this, this.object, path, value);\n        return this;\n    }\n\n    /**\n     * Delete Via Path\n     *\n     * @param {string} path\n     * @returns {Pathfinder}\n     * @since 1.6.0\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @throws {Error} unsupported action for this data type\n     */\n    deleteVia(path) {\n        validateString(path);\n        deleteValueViaPath.call(this, this.object, path);\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} path\n     * @return {bool}\n     * @throws {TypeError} unsupported type\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not an integer\n     * @since 1.4.0\n     */\n    exists(path) {\n        validateString(path);\n        try {\n            getValueViaPath.call(this, this.object, path, true);\n            return true;\n        } catch (e) {\n\n        }\n\n        return false;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Data', Pathfinder);\nexport {Monster, Pathfinder}\n\n/**\n *\n * @param {*} subject\n * @param {string} path\n * @param {string} check\n * @return {Map}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction iterate(subject, path, check) {\n\n    const result = new Map;\n\n    if (isObject(subject) || isArray(subject)) {\n        for (const [key, value] of Object.entries(subject)) {\n            result.set(key, getValueViaPath.call(this, value, path, check))\n        }\n    } else {\n        let key= path.split(DELIMITER).shift();\n        result.set(key, getValueViaPath.call(this, subject, path, check));\n    }\n\n    return result;\n\n\n}\n\n/**\n *\n * @param {*} subject\n * @param [string} path\n * @param [boolean} check \n * @returns {*}\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction getValueViaPath(subject, path, check) {\n\n    if (path === \"\") {\n        return subject;\n    }\n\n    let parts = path.split(DELIMITER)\n    let current = parts.shift();\n\n    if (current === this.wildCard) {\n        return iterate.call(this, subject, parts.join(DELIMITER), check);\n    }\n\n    if (isObject(subject) || isArray(subject)) {\n\n        let anchor;\n        if (subject instanceof Map || subject instanceof WeakMap) {\n            anchor = subject.get(current);\n\n        } else if (subject instanceof Set || subject instanceof WeakSet) {\n            current = parseInt(current);\n            validateInteger(current)\n            anchor = [...subject]?.[current];\n\n        } else if (subject instanceof WeakRef) {\n            throw Error('unsupported action for this data type');\n\n        } else if (isArray(subject)) {\n            current = parseInt(current);\n            validateInteger(current)\n            anchor = subject?.[current];\n        } else {\n            anchor = subject?.[current];\n        }\n\n        if (isObject(anchor) || isArray(anchor)) {\n            return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check)\n        }\n\n        if (parts.length > 0) {\n            throw Error(\"the journey is not at its end (\" + parts.join(DELIMITER) + \")\");\n        }\n\n        if (check === true && !subject.hasOwnProperty(current)) {\n            throw Error('unknown value');\n        }\n\n        return anchor;\n\n    }\n\n    throw TypeError(\"unsupported type \"+typeof subject)\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @param value\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @private\n */\nfunction setValueViaPath(object, path, value) {\n\n    validateString(path);\n    \n    let parts = path.split(DELIMITER)\n    let last = parts.pop();\n    let subpath = parts.join(DELIMITER);\n\n    let stack = new Stack()\n    let current = subpath;\n    while (true) {\n\n        try {\n            getValueViaPath.call(this, object, current, true)\n            break;\n        } catch (e) {\n\n        }\n\n        stack.push(current);\n        parts.pop();\n        current = parts.join(DELIMITER);\n\n        if (current === \"\") break;\n    }\n\n    while (!stack.isEmpty()) {\n        current = stack.pop();\n        let obj = {};\n\n        if (!stack.isEmpty()) {\n            let n = stack.peek().split(DELIMITER).pop();\n            if (isInteger(parseInt(n))) {\n                obj = [];\n            }\n\n        }\n\n        setValueViaPath.call(this, object, current, obj);\n    }\n\n    let anchor = getValueViaPath.call(this, object, subpath);\n\n    if (!isObject(object) && !isArray(object)) {\n        throw TypeError(\"unsupported type: \" + typeof object);\n    }\n\n    if (anchor instanceof Map || anchor instanceof WeakMap) {\n        anchor.set(last, value);\n    } else if (anchor instanceof Set || anchor instanceof WeakSet) {\n        anchor.append(value)\n\n    } else if (anchor instanceof WeakRef) {\n        throw Error('unsupported action for this data type');\n\n    } else if (isArray(anchor)) {\n        last = parseInt(last);\n        validateInteger(last)\n        anchor[last] = value;\n    } else {\n        anchor[last] = value;\n    }\n\n    return;\n\n}\n\n/**\n *\n * @param object\n * @param path\n * @returns {void}\n * @throws {TypeError} unsupported type\n * @throws {TypeError} unsupported type\n * @throws {Error} the journey is not at its end\n * @throws {Error} unsupported action for this data type\n * @since 1.6.0\n * @private\n */\nfunction deleteValueViaPath(object, path) {\n\n    const parts = path.split(DELIMITER)\n    let last = parts.pop();\n    const subpath = parts.join(DELIMITER);\n\n    const anchor = getValueViaPath.call(this, object, subpath);\n\n    if (anchor instanceof Map) {\n        anchor.delete(last);\n    } else if (anchor instanceof Set || anchor instanceof WeakMap || anchor instanceof WeakSet || anchor instanceof WeakRef) {\n        throw Error('unsupported action for this data type');\n\n    } else if (isArray(anchor)) {\n        last = parseInt(last);\n        validateInteger(last)\n        delete anchor[last];\n    } else {\n        delete anchor[last];\n    }\n\n    return;\n\n}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Transformer} from './transformer.js';\nimport {Base} from '../types/base.js';\nimport {validateFunction, validateString} from '../types/validate.js';\n\n\nconst DELIMITER = '|';\n\n/**\n * The pipe class makes it possible to combine several processing steps.\n *\n * You can call the method via the monster namespace `new Monster.Data.Pipe()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Monster.Data.Pipe())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * console.log(new Pipe())\n * </script>\n * ```\n *\n * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n *\n * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).\n * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.\n *\n * @example\n * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';\n * \n * let obj = {\n *    a: {\n *        b: {\n *            c: {\n *                d: \"world\"\n *            }\n *        }\n *    }\n * }\n * \n * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\\\ ').run(obj));\n * // ↦ Hello WORLD\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Pipe extends Base {\n\n    /**\n     *\n     * @param {string} pipe a pipe consists of commands whose input and output are connected with the pipe symbol `|`.\n     * @throws {TypeError} \n     */\n    constructor(pipe) {\n        super();\n        validateString(pipe);\n        this.pipe = pipe.split(DELIMITER).map((v) => {\n            return new Transformer(v);\n        });\n        \n\n    }\n\n    /**\n     *\n     * @param {string} name\n     * @param {function} callback\n     * @returns {Transformer}\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not a function\n     */\n    setCallback(name, callback) {\n\n        for(const [,t] of Object.entries(this.pipe)) {\n            t.setCallback(name, callback);\n        }\n        \n        return this;\n        \n        // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n        //     return transformer.setCallback(name,callback);\n        // }, value);\n        \n        \n    }\n\n    /**\n     * run a pipe\n     *\n     * @param {*} value\n     * @returns {*}\n     */\n    run(value) {\n        return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {\n            return transformer.run(accumulator);\n        }, value);\n    }\n}\n\nMonster.assignToNamespace('Monster.Data', Pipe);\nexport {Monster, Pipe}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {validateString, validatePrimitive, validateFunction, validateInteger} from '../types/validate.js';\nimport {isObject, isString, isArray} from '../types/is.js';\nimport {ID} from '../types/id.js';\nimport {clone} from \"../util/clone.js\";\nimport {Pathfinder} from \"./pathfinder.js\";\n\n/**\n * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.\n *\n * You can call the method via the monster namespace `new Monster.Data.Transformer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Monster.Data.Transformer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * console.log(new Transformer())\n * </script>\n * ```\n *\n * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.\n * \n * ```\n * let t = new Transformer('tolower').run('ABC'); // ↦ abc\n * ```\n * \n * **all commands**\n * \n * in the following table all commands, parameters and existing aliases are described.\n * \n *  | command      | parameter                  | alias                   | description                                                                                                                                                                                                                                                                                                                                                |\n *  |:-------------|:---------------------------|:------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n *  | base64       |                            |                         | Converts the value to base64                                                                                                                                                                                                                                                                                                                               |\n *  | call         | function,param1:param2:... |                         | Calling a callback function. The function can be defined in three places: either globally, in the context `addCallback` or in the passed object                                                                                                                                                                                                            |\n *  | empty        |                            |                         | Return empty String \"\"                                                                                                                                                                                                                                                                                                                                     |\n *  | if           | statement1:statement2      | ?                       | Is the ternary operator, the first parameter is the valid statement, the second is the false part. To use the current value in the queue, you can set the value keyword. On the other hand, if you want to have the static string \"value\", you have to put one backslash \\\\ in front of it and write value. the follow values are true: 'on', true, 'true' |\n *  | index        | key:default                | property, key           | Fetches a value from an object, an array, a map or a set                                                                                                                                                                                                                                                                                                   |\n *  | length       |                            | count                   | Length of the string or entries of an array or object                                                                                                                                                                                                                                                                                                      |\n *  | nop          |                            |                         | Do nothing                                                                                                                                                                                                                                                                                                                                                 |\n *  | path         | path                       |                         | The access to an object is done via a Pathfinder object                                                                                                                                                                                                                                                                                                    |\n *  | plaintext    |                            | plain                   | All HTML tags are removed (*)                                                                                                                                                                                                                                                                                                                              |\n *  | prefix       | text                       |                         | Adds a prefix                                                                                                                                                                                                                                                                                                                                              |\n *  | rawurlencode |                            |                         | URL coding                                                                                                                                                                                                                                                                                                                                                 |\n *  | static       |                            | none                    | The Arguments value is used and passed to the value. Special characters \\ <space> and : can be quotet by a preceding \\.                                                                                                                                                                                                                                    |\n *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |\n *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |\n *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |\n *  | tojson       |                            |                         | Type conversion to an JSON string (since 1.8.0)                                                                                                                                                                                                                                                                                                            |\n *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |\n *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |\n *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |\n *  | trim         |                            |                         | Remove spaces at the beginning and end                                                                                                                                                                                                                                                                                                                     |\n *  | ucfirst      |                            |                         | First character large                                                                                                                                                                                                                                                                                                                                      |\n *  | ucwords      |                            |                         | Any word beginning large                                                                                                                                                                                                                                                                                                                                   |\n *  | undefined    |                            |                         | Return undefined                                                                                                                                                                                                                                                                                                                                           |\n *  | uniqid       |                            |                         | Creates a string with a unique value (**)                                                                                                                                                                                                                                                                                                                  |\n * \n *  (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.\n * \n * ```\n *  // polyfill\n *  if (typeof window !== \"object\") {\n *     const {window} = new JSDOM('', {\n *         url: 'http://example.com/',\n *         pretendToBeVisual: true\n *     });\n * \n *     [\n *         'self',\n *         'document',\n *         'Node',\n *         'Element',\n *         'HTMLElement',\n *         'DocumentFragment',\n *         'DOMParser',\n *         'XMLSerializer',\n *         'NodeFilter',\n *         'InputEvent',\n *         'CustomEvent'\n *     ].forEach(key => (global[key] = window[key]));\n * }\n * ```\n * \n * (**) for this command the crypt library is necessary in the nodejs context.\n * \n * ```\n * import * as Crypto from \"@peculiar/webcrypto\";\n * global['crypto'] = new Crypto.Crypto();\n * ```\n * \n * @example\n * \n * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';\n * \n * const transformer = new Transformer(\"tolower\")\n * \n * console.log(transformer.run(\"HELLO\"))\n * // ↦ hello\n * \n * console.log(transformer.run(\"WORLD\"))\n * // ↦ world\n * \n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Data\n */\nclass Transformer extends Base {\n    /**\n     *\n     * @param {string} definition\n     */\n    constructor(definition) {\n        super();\n        validateString(definition);\n\n        this.args = disassemble(definition);\n        this.command = this.args.shift()\n        this.callbacks = new Map();\n\n    }\n\n    /**\n     *\n     * @param {string} name\n     * @param {function} callback\n     * @returns {Transformer}\n     * @throws {TypeError} value is not a string\n     * @throws {TypeError} value is not a function\n     */\n    setCallback(name, callback) {\n        validateString(name)\n        validateFunction(callback)\n        this.callbacks.set(name, callback);\n        return this;\n    }\n\n    /**\n     *\n     * @param {*} value\n     * @returns {*}\n     * @throws {Error} unknown command\n     * @throws {TypeError} unsupported type\n     * @throws {Error} type not supported\n     */\n    run(value) {\n        return transform.apply(this, [value])\n    }\n}\n\nMonster.assignToNamespace('Monster.Data', Transformer);\nexport {Monster, Transformer}\n\n/**\n *\n * @param {string} command\n * @returns {array}\n * @private\n */\nfunction disassemble(command) {\n\n    validateString(command);\n    \n    let placeholder = new Map;\n    const regex = /((?<pattern>\\\\(?<char>.)){1})/mig;\n\n    // The separator for args must be quotable\n    // undefined string which should not occur normally and is also not a regex\n    let result = command.matchAll(regex)\n    \n    for (let m of result) {\n        let g=m?.['groups'];\n        if(!isObject(g)) {\n            continue;\n        }\n        \n        let p=g?.['pattern'];\n        let c=g?.['char'];\n        \n        if(p&&c) {\n            let r='__'+new ID().toString()+'__';\n            placeholder.set(r, c);\n            command=command.replace(p,r);\n        }\n        \n    }\n    let parts = command.split(':');\n\n    parts = parts.map(function (value) {\n        let v =  value.trim();\n        for(let k of placeholder) {\n           v= v.replace(k[0], k[1]);\n        }\n        return v;\n        \n        \n    });\n\n    return parts\n}\n\n/**\n * tries to make a string out of value and if this succeeds to return it back\n * \n * @param {*} value\n * @returns {string}\n * @private\n */\nfunction convertToString(value) {\n\n    if (isObject(value) && value.hasOwnProperty('toString')) {\n        value = value.toString();\n    }\n\n    validateString(value)\n    return value;\n}\n\n/**\n *\n * @param {*} value\n * @returns {*}\n * @private\n * @throws {Error} unknown command\n * @throws {TypeError} unsupported type\n * @throws {Error} type not supported\n */\nfunction transform(value) {\n\n    let args = clone(this.args);\n    let key\n\n    switch (this.command) {\n\n        case 'static':\n            return this.args.join(':');\n\n        case 'tolower':\n        case 'strtolower':\n        case 'tolowercase':\n            validateString(value)\n            return value.toLowerCase();\n\n        case 'toupper':\n        case 'strtoupper':\n        case 'touppercase':\n            validateString(value)\n            return value.toUpperCase();\n\n        case 'tostring':\n            return \"\" + value;\n\n        case 'tointeger':\n            let n = parseInt(value);\n            validateInteger(n);\n            return n\n        \n        case 'tojson':\n            return JSON.stringify(value);\n\n        case 'trim':\n            validateString(value)\n            return value.trim();\n\n        case 'rawurlencode':\n            validateString(value)\n            return encodeURIComponent(value)\n                .replace(/!/g, '%21')\n                .replace(/'/g, '%27')\n                .replace(/\\(/g, '%28')\n                .replace(/\\)/g, '%29')\n                .replace(/\\*/g, '%2A');\n\n\n        case  'call':\n\n            /**\n             * callback-definition\n             * function callback(value, ...args) {\n             *   return value;\n             * }\n             */\n\n            let callback;\n            let callbackName = args.shift();\n\n            if (isObject(value) && value.hasOwnProperty(callbackName)) {\n                callback = value[callbackName];\n            } else if (this.callbacks.has(callbackName)) {\n                callback = this.callbacks.get(callbackName);\n            } else if (typeof window === 'object' && window.hasOwnProperty(callbackName)) {\n                callback = window[callbackName];\n            }\n            validateFunction(callback);\n\n            args.unshift(value);\n            return callback(...args);\n\n        case  'plain':\n        case  'plaintext':\n            validateString(value);\n            let doc = new DOMParser().parseFromString(value, 'text/html');\n            return doc.body.textContent || \"\";\n\n        case  'if':\n        case  '?':\n\n            validatePrimitive(value);\n\n            let trueStatement = (args.shift() || undefined);\n            let falseStatement = (args.shift() || undefined);\n\n            if (trueStatement === 'value') {\n                trueStatement = value;\n            }\n            if (trueStatement === '\\\\value') {\n                trueStatement = 'value';\n            }\n            if (falseStatement === 'value') {\n                falseStatement = value;\n            }\n            if (falseStatement === '\\\\value') {\n                falseStatement = 'value';\n            }\n\n            let condition = ((value !== undefined && value !== '' && value !== 'off' && value !== 'false' && value !== false) || value === 'on' || value === 'true' || value === true);\n            return condition ? trueStatement : falseStatement;\n\n\n        case 'ucfirst':\n            validateString(value);\n\n            let firstchar = value.charAt(0).toUpperCase();\n            return firstchar + value.substr(1);\n        case 'ucwords':\n            validateString(value);\n\n            return value.replace(/^([a-z\\u00E0-\\u00FC])|\\s+([a-z\\u00E0-\\u00FC])/g, function (v) {\n                return v.toUpperCase();\n            });\n\n        case  'count':\n        case  'length':\n\n            if ((isString(value) || isObject(value) || isArray(value)) && value.hasOwnProperty('length')) {\n                return value.length;\n            }\n\n            throw new TypeError(\"unsupported type\");\n\n        case 'base64':\n            convertToString(value);\n            return btoa(value);\n\n        case 'empty':\n            return '';\n\n        case 'undefined':\n            return undefined;\n\n        case 'prefix':\n            validateString(value);\n            let prefix = args?.[0];\n            return prefix + value;\n\n        case 'suffix':\n            validateString(value);\n            let suffix = args?.[0];\n            return value + suffix;\n\n        case 'uniqid':\n            return (new ID()).toString();\n\n        case 'key':\n        case 'property':\n        case 'index':\n\n            key = (args.shift() || 'undefined');\n            let defaultValue = (args.shift() || '');\n\n            if (value instanceof Map) {\n                if(!value.has(key)) {\n                    return defaultValue;\n                }\n                return value.get(key);\n            }\n\n            if (isObject(value)||isArray(value)) {\n\n                if (value?.[key]) {\n                    return value?.[key];\n                }\n\n                return defaultValue;\n            }\n\n            throw new Error(\"type not supported\")\n\n        case 'path':\n\n            key = (args.shift() || 'undefined');\n            return new Pathfinder(value).getVia(key);\n            \n            \n        case 'substring':\n\n            validateString(value);\n            \n            let start = parseInt(args[0]) || 0;\n            let end = (parseInt(args[1]) || 0) + start;\n\n            return value.substring(start, end);\n            \n        case 'nop':\n            return value;\n\n        default:\n            throw new Error(\"unknown command \"+this.command)\n    }\n\n    return value;\n}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateInstance, validateString} from \"../types/validate.js\";\nimport {getGlobalFunction} from \"../types/global.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\n\n\n/**\n * attribute prefix\n * \n * @type {string}\n * @memberOf Monster/DOM\n */\nconst ATTRIBUTEPREFIX = \"data-monster-\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Assembler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Monster.DOM.Assembler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';\n * console.log(new Assembler())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Assembler extends Base {\n\n    /**\n     * @param {DocumentFragment} fragment\n     * @throws {TypeError} value is not an instance of\n     * @throws {TypeError} value is not a function\n     * @throws {Error} the function is not defined\n     */\n    constructor(fragment) {\n        super();\n        this.attributePrefix = ATTRIBUTEPREFIX;\n        validateInstance(fragment, getGlobalFunction('DocumentFragment'));\n        this.fragment = fragment;\n    }\n\n    /**\n     *\n     * @param {string} prefix\n     * @returns {Assembler}\n     * @throws {TypeError} value is not a string\n     */\n    setAttributePrefix(prefix) {\n        validateString(prefix);\n        this.attributePrefix = prefix;\n        return this;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getAttributePrefix() {\n        return this.attributePrefix;\n    }\n\n    /**\n     *\n     * @param {ProxyObserver|undefined} data\n     * @return {DocumentFragment}\n     * @throws {TypeError} value is not an instance of\n     */\n    createDocumentFragment(data) {\n\n        if (data === undefined) {\n            data = new ProxyObserver({});\n        }\n\n        validateInstance(data, ProxyObserver);\n        let fragment = this.fragment.cloneNode(true);\n        return fragment;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Assembler);\nexport {Monster, ATTRIBUTEPREFIX, Assembler}\n",
+    "'use strict';\n\nimport {Monster} from \"../namespace.js\";\n\n/**\n * @author schukai GmbH\n */\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_PREFIX = 'data-monster-';\n\n/**\n * @memberOf Monster/DOM\n * @since 1.8.0\n * @type {string}\n */\nconst ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';\n\n\n/**\n * default theme\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst DEFAULT_THEME = 'monster';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n */\nconst ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';\n\n/**\n * @memberOf Monster/DOM\n * @type {string}\n * @since 1.8.0\n */\nconst ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';\n\n\nexport {\n    Monster,\n    ATTRIBUTE_PREFIX,\n    ATTRIBUTE_OPTIONS,\n    DEFAULT_THEME,\n    ATTRIBUTE_THEME_PREFIX,\n    ATTRIBUTE_THEME_NAME,\n    ATTRIBUTE_UPDATER_ATTRIBUTES,\n    ATTRIBUTE_UPDATER_REPLACE,\n    ATTRIBUTE_UPDATER_INSERT,\n    ATTRIBUTE_UPDATER_INSERT_REFERENCE,\n    ATTRIBUTE_UPDATER_REMOVE\n}",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {ATTRIBUTE_OPTIONS} from \"./constants.js\";\nimport {findDocumentTemplate} from \"./template.js\";\nimport {getGlobalObject} from \"../types/global.js\";\nimport {Monster, validateFunction, validateObject, validateString} from \"../types/validate.js\";\n\n\n/**\n * To define a new HTML element we need the power of CustomElement\n *\n * you can call the method via the monster namespace `new Monster.DOM.Element()`.\n *\n * important: after defining a `CustomElement`, the `registerCustomElement` method must be called\n * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new Monster.DOM.CustomElement())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';\n * console.log(new CustomElement())\n * </script>\n * ```\n *\n * ## Styling\n *\n * For optimal display of custom-elements the pseudo-class :defined can be used.\n *\n * ```html\n * <style>\n *\n * my-custom-element:not(:defined) {\n *     display: none;\n * }\n *\n * my-custom-element:defined {\n *     display: flex;\n * }\n *\n * </style>\n * ```\n *\n *\n *\n * @example\n *\n * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.\n * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.\n *\n * class MonsterMyElement extends CustomElement {\n * \n *    constructor() {\n *        super();\n *    }\n *    \n *    getTemplate() {\n *        return `<div class=\"form-check\">\n *                           <label class=\"form-check-label\">\n *                               <input class=\"form-check-input\" type=\"checkbox\" value=\"\">\n *                               Checkvalue\n *                           </label>\n *                         </div>`\n *    }\n *\n *    static getTag() {\n *        return \"monster-my-element\"\n *    }\n *\n *}\n *\n * // ↦ <monster-my-element></monster-my-element>\n *\n * @see https://github.com/WICG/webcomponents\n * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass CustomElement extends HTMLElement {\n\n    /**\n     * A new object is created. First the `initOptions` method is called. Here the\n     * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.\n     *\n     * @throws {Error} the options attribute does not contain a valid json definition.\n     */\n    constructor() {\n        super();\n        this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this));\n        this.init();\n    }\n\n    /**\n     * | option         | description                                                                                                                                                                                                                                                                |\n     * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n     * | shadowMode     | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it                                                                             |\n     * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |\n     *\n     * Derived classes can override and extend this method as follows.\n     *\n     * ```\n     * get defaults() {\n     *    return Object.assign({}, super.defaults, {\n     *        myValue:true\n     *    });\n     * }\n     * ```\n     *\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n     * @return {{shadowMode: string, delegatesFocus: boolean}}\n     * @since 1.8.0\n     */\n    get defaults() {\n        return {\n            shadowMode: 'open',\n            delegatesFocus: true\n        };\n    }\n\n    /**\n     *\n     * @param {string} key\n     * @param [*} defaultValue\n     * @return {*}\n     * @since 1.8.0\n     */\n    getOption(key, defaultValue) {\n        validateString(key)\n        let v = this._options?.[key];\n        if (v === undefined) return defaultValue;\n        return v;\n    }\n\n    /**\n     *\n     * @return {CustomElement}\n     * @since 1.8.0\n     */\n    init() {\n        initShadowRoot.call(this);\n        return this;\n    }\n\n    /**\n     *\n     * @return {CustomElement}\n     * @since 1.8.0\n     */\n    assemble() {\n        return this;\n    }\n\n    /**\n     *\n     *\n     * @return {CustomElement}\n     * @since 1.8.0\n     */\n    disassemble() {\n        return this;\n    }\n\n    /**\n     * Called every time the element is inserted into the DOM. Useful for running setup code, such as\n     * fetching resources or rendering. Generally, you should try to delay work until this time.\n     *\n     * @return {void}\n     */\n    connectedCallback() {\n        this.assemble();\n    }\n\n    /**\n     * Called every time the element is removed from the DOM. Useful for running clean up code.\n     *\n     * @return {void}\n     */\n    disconnectedCallback() {\n        this.disassemble();\n    }\n\n    /**\n     * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).\n     *\n     * @return {void}\n     */\n    adoptedCallback() {\n\n    }\n\n    /**\n     * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial\n     * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.\n     *\n     * @param {string} attrName\n     * @param {string} oldVal\n     * @param {string} newVal\n     * @return {void}\n     */\n    attributeChangedCallback(attrName, oldVal, newVal) {\n        this.assemble();\n    }\n\n    /**\n     * This method defines the default template if no template with the id is found in the dom.\n     *\n     * @since 1.8.0\n     * @return {string}\n     * @throws {Error} the method getTemplate must be overwritten by the derived class.\n     */\n    static getTemplate() {\n        throw new Error(\"the method getTemplate must be overwritten by the derived class.\");\n    }\n\n\n    /**\n     * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.\n     * if the name is not valid, registerCustomElement() will issue an erro\n     *\n     * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n     * @return {string}\n     * @throws {Error} the method getTag must be overwritten by the derived class.\n     */\n    static getTag() {\n        throw new Error(\"the method getTag must be overwritten by the derived class.\");\n    }\n\n    /**\n     *\n     * @return {CSSStyleSheet}\n     */\n    static getCSSStyleSheet() {\n        return new CSSStyleSheet();\n    }\n\n\n}\n\n/**\n * @private\n * @return {object}\n * @throws {Error} the options attribute does not contain a valid json definition.\n */\nfunction getOptionsFromAttributes() {\n    if (this.hasAttribute(ATTRIBUTE_OPTIONS)) {\n        try {\n            let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS))\n            validateObject(obj);\n            return obj;\n        } catch(e) {\n            throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').');\n        }\n    }\n\n    return {};\n}\n\n/**\n * @private\n * @return {CustomElement}\n * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow\n * @memberOf CustomElement\n * @since 1.8.0\n */\nfunction initShadowRoot() {\n\n    this.attachShadow({\n        mode: this.getOption('shadowMode', 'open'),\n        delegatesFocus: this.getOption('delegatesFocus', true)\n    });\n\n    const styleSheet = this.constructor.getCSSStyleSheet();\n    if (styleSheet instanceof CSSStyleSheet) {\n        this.shadowRoot.adoptedStyleSheets = [styleSheet];\n    }\n\n    try {\n        let template = findDocumentTemplate(this.constructor.getTag());\n        this.shadowRoot.appendChild(template.createDocumentFragment());\n    } catch (e) {\n        this.shadowRoot.innerHTML = this.constructor.getTemplate();\n    }\n\n    return this;\n}\n\n/**\n * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.\n *\n * @param {CustomElement} element\n * @return {void}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name\n */\nfunction registerCustomElement(element) {\n    validateFunction(element);\n\n    let tag = element.getTag();\n\n    getGlobalObject('customElements').define(element.getTag(), element);\n    return;\n}\n\nMonster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);\nexport {Monster, registerCustomElement, CustomElement}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {Stack} from \"../types/stack.js\";\nimport {validateInstance} from \"../types/validate.js\";\nimport {ProxyObserver} from \"../types/proxyobserver.js\";\nimport {Observer} from \"../types/observer.js\";\nimport {getGlobalFunction, getGlobalObject} from \"../types/global.js\";\nimport {isInstance} from \"../types/is.js\";\nimport {ATTRIBUTEPREFIX} from \"./assembler.js\"\nimport {ID} from \"../types/id.js\";\n\n/**\n * @private\n * @type {Symbol}\n */\nconst MONSTERDOMHANDLE = Symbol('MonsterHandle');\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Handle()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Monster.DOM.Handle())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(new Handle())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster.DOM\n */\nclass Handle extends Base {\n    /**\n     *\n     * @param {ProxyObserver} data\n     */\n    constructor(data) {\n        super();\n\n        let self = this;\n\n        self.id = new ID();\n\n        validateInstance(data, ProxyObserver);\n\n        this.data = data\n\n        this.mutationObserver = createMutationObserver.call(this);\n        this.dataObserver = createDataObserver.call(this);\n        this.data.attachObserver(this.dataObserver);\n\n        this.nodes = new WeakSet\n        this.updates = new Stack();\n\n    }\n\n    /**\n     * @return {void}\n     */\n    update() {\n        return;\n    }\n\n    /**\n     *\n     * @param {HTMLElement|Document} node\n     * @return {Handle}\n     */\n    remove(node) {\n\n        if (isInstance(node, getGlobalFunction('Document'))) {\n            node = node.firstElementChild\n        }\n\n        validateInstance(node, getGlobalFunction('HTMLElement'))\n\n        if (!this.nodes.has(node)) {\n            return this;\n        }\n\n        this.mutationObserver.disconnect(node);\n\n        delete node.dataset[MONSTERDOMHANDLE]\n        node.removeAttribute(ATTRIBUTEPREFIX + \"handler\");\n\n        return this;\n\n    }\n\n    /**\n     *\n     * @param {HTMLElement|Document} node\n     * @return {Handle}\n     */\n    append(node) {\n\n        if (isInstance(node, getGlobalFunction('Document'))) {\n            node = node.firstElementChild\n        }\n\n        validateInstance(node, getGlobalFunction('HTMLElement'))\n\n        if (this.nodes.has(node)) {\n            return this;\n        }\n\n        node.dataset[MONSTERDOMHANDLE] = this;\n        node.setAttribute(ATTRIBUTEPREFIX + \"handler\", true);\n\n        this.mutationObserver.observe(node, {\n            attributes: true,\n            childList: true,\n            subtree: true,\n            characterData: true,\n            characterDataOldValue: true,\n            attributeOldValue: true\n        });\n\n        this.nodes.add(node);\n\n        return this;\n\n    }\n}\n\n/**\n *\n * @private\n * @return {Observer}\n */\nfunction createDataObserver() {\n    const self = this;\n\n    return new Observer(() => {\n        self.update();\n    });\n}\n\n/**\n *\n * @private\n * @return {MutationObserver}\n */\nfunction createMutationObserver() {\n\n    const self = this;\n\n    /**\n     * @private\n     * @type {MutationObserver}\n     */\n    const MutationObserver = getGlobalFunction('MutationObserver');\n\n    // @link https://developer.mozilla.org/en/docs/Web/API/MutationObserver\n    return new MutationObserver((mutationsList, observer) => {\n\n            for (const mutation of mutationsList) {\n                self.updates.push(mutation);\n            }\n\n            self.update();\n        }\n    )\n\n}\n\n/**\n * get the handle of a node\n *\n * if a node is specified without a handler, a recursive search upwards is performed until the corresponding\n * handle is found, or undefined is returned.\n *\n * you can call the method via the monster namespace `Monster.DOM.getHandleFromNode()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(Monster.DOM.getHandleFromNode())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';\n * console.log(getHandleFromNode())\n * </script>\n * ```\n *\n * @param {Node} node\n * @return {Handle|undefined}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {TypeError} value is not an instance of Node\n */\nfunction getHandleFromNode(node) {\n    validateInstance(node, getGlobalFunction('Node'));\n\n    let handle = node.dataset?.[MONSTERDOMHANDLE];\n    if (handle === undefined) {\n        let parentNode = node?.['parentNode'];\n        if (isInstance(parentNode, getGlobalFunction('Node'))) {\n            return getHandleFromNode(parentNode)\n        }\n    }\n\n    return handle;\n}\n\nMonster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);\nexport {Monster, getHandleFromNode, Handle}\n\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalFunction, getGlobalObject} from '../types/global.js';\nimport {validateInstance} from \"../types/validate.js\";\nimport {getDocumentTheme} from \"./theme.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.DOM.Template()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Monster.DOM.Template())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(new Template())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Template extends Base {\n    /**\n     *\n     * @param {HTMLTemplateElement} template\n     * @throws {TypeError} value is not an instance of\n     * @throws {TypeError} value is not a function\n     * @throws {Error} the function is not defined\n     */\n    constructor(template) {\n        super();\n        const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n        validateInstance(template, HTMLTemplateElement);\n        this.template = template;\n    }\n\n    /**\n     *\n     * @returns {HTMLTemplateElement}\n     */\n    getTemplateElement() {\n        return this.template;\n    }\n\n    /**\n     *\n     * @return {DocumentFragment}\n     * @throws {TypeError} value is not an instance of\n     */\n    createDocumentFragment() {\n        return this.template.content.cloneNode(true);\n    }\n\n}\n\n/**\n *\n *\n * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(Monster.DOM.findDocumentTemplate())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';\n * console.log(findDocumentTemplate())\n * </script>\n * ```\n *\n * @param {string} id\n * @return {Template}\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} template id not found.\n * @throws {TypeError} value is not a string\n */\nfunction findDocumentTemplate(id) {\n    validateString(id);\n    const document = getGlobalObject('document');\n    const HTMLTemplateElement = getGlobalFunction('HTMLTemplateElement');\n\n    let theme = getDocumentTheme()\n    let themedID = id + '-' + theme.getName();\n\n    let template = document.getElementById(themedID);\n    if (template instanceof HTMLTemplateElement) {\n        return new Template(template);\n    }\n\n    template = document.getElementById(id);\n    if (template instanceof HTMLTemplateElement) {\n        return new Template(template);\n    }\n\n    throw new Error(\"template \" + id + \" not found.\")\n}\n\n\nMonster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);\nexport {Monster, Template, findDocumentTemplate}\n\n\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {validateString} from \"../types/validate.js\";\nimport {getGlobalObject} from '../types/global.js';\nimport {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from \"./constants.js\";\n\n\n\n/**\n * You can call the method via the monster namespace `new Monster.DOM.Theme()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Monster.DOM.Theme())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n * console.log(new Theme())\n * </script>\n * ```\n * \n * @example\n *\n * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';\n *\n * const theme = getDocumentTheme();\n * console.log(theme.getName());\n * // ↦ monster\n *\n * @since 1.7.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n */\nclass Theme extends Base {\n\n    /**\n     *\n     * @param name\n     * @throws {TypeError} value is not a string\n     */\n    constructor(name) {\n        super();\n        validateString(name);\n        this.name = name;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getName() {\n        return this.name;\n    }\n\n}\n\n/**\n * The theming used in the document can be defined via the html-tag.\n * The theming is specified via the attribute `data-monster-theme-name`.\n *\n * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.\n *\n * ```\n * <html data-monster-theme-name=\"my-theme\">\n * ```\n *\n * the default theme name is `monster`.\n *\n * @return {Theme}\n * @since 1.7.0\n */\nfunction getDocumentTheme() {\n    let document = getGlobalObject('document');\n    let name = DEFAULT_THEME;\n\n    let element = document.querySelector('html');\n    if (element instanceof HTMLElement) {\n        let theme = element.getAttribute(ATTRIBUTE_THEME_NAME);\n        if (theme) {\n            name = theme;\n        }\n    }\n\n    return new Theme(name);\n\n}\n\nMonster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);\nexport {Monster, Theme, getDocumentTheme}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, getGlobal} from \"../types/global.js\";\nimport {validateString} from \"../types/validate.js\";\n\n\n/**\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocument())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocument())\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getDocument() {\n    let document = getGlobal()?.['document'];\n    if (typeof document !== 'object') {\n        throw new Error(\"not supported environment\")\n    }\n\n    return document;\n}\n\n/**\n * this method fetches the window object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getWindow())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getWindow(null))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    getGlobal()['window']=window;\n * \n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {object}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n */\nfunction getWindow() {\n    let window = getGlobal()?.['window'];\n    if (typeof window !== 'object') {\n        throw new Error(\"not supported environment\")\n    }\n\n    return window;\n}\n\n\n/**\n *\n *\n * this method fetches the document object\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(Monster.DOM.getDocumentFragmentFromString())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';\n * console.log(getDocumentFragmentFromString('<div></div>'))\n * </script>\n * ```\n *\n * in nodejs this functionality can be performed with [jsdom](https://www.npmjs.com/package/jsdom).\n *\n * ```\n * import {JSDOM} from \"jsdom\"\n * if (typeof window !== \"object\") {\n *    const {window} = new JSDOM('', {\n *        url: 'http://example.com/',\n *        pretendToBeVisual: true\n *    });\n *\n *    [\n *        'self',\n *        'document',\n *        'Document',\n *        'Node',\n *        'Element',\n *        'HTMLElement',\n *        'DocumentFragment',\n *        'DOMParser',\n *        'XMLSerializer',\n *        'NodeFilter',\n *        'InputEvent',\n *        'CustomEvent'\n *    ].forEach(key => (getGlobal()[key] = window[key]));\n * }\n * ```\n *\n * @returns {DocumentFragment}\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/DOM\n * @throws {Error} not supported environment\n * @throws {TypeError} value is not a string\n */\nfunction getDocumentFragmentFromString(html) {\n    validateString(html);\n\n    const document = getDocument();\n    const template = document.createElement('template');\n    template.innerHTML = html;\n    \n    return template.content;\n}\n\n\nMonster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);\nexport {Monster, getWindow, getDocument, getDocumentFragmentFromString}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from '../types/base.js';\nimport {ALL, DEBUG, ERROR, FATAL, INFO, OFF, TRACE, WARN} from \"./logger.js\";\nimport {LogEntry} from \"./logentry.js\";\nimport {validateInstance, validateInteger} from \"../types/validate.js\";\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Monster.Logging.Handler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';\n * console.log(new Handler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Handler extends Base {\n    constructor() {\n        super();\n\n        /**\n         * Loglevel\n         * \n         * @type {integer} \n         */\n        this.loglevel = OFF;\n    }\n\n    /**\n     * this is the central log function. this method must be\n     * overwritten by derived handlers with their own logic.\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {LogEntry} entry\n     * @returns {boolean}\n     */\n    log(entry) {\n        validateInstance(entry, LogEntry);\n\n        if (this.loglevel < entry.getLogLevel()) {\n            return false;\n        }\n\n        return true;\n    }\n\n    /**\n     * set loglevel\n     *\n     * @param {integer} loglevel\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setLogLevel(loglevel) {\n        validateInteger(loglevel)\n        this.loglevel = loglevel;\n        return this;\n    }\n\n    /**\n     * get loglevel\n     *\n     * @returns {integer}\n     * @since 1.5.0\n     */\n    getLogLevel() {\n        return this.loglevel;\n    }\n\n    /**\n     *  Set log level to All\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setAll() {\n        this.setLogLevel(ALL);\n        return this;\n    };\n\n    /**\n     * Set log level to Trace\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setTrace() {\n        this.setLogLevel(TRACE);\n        return this;\n    };\n\n    /**\n     * Set log level to Debug\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setDebug() {\n        this.setLogLevel(DEBUG);\n        return this;\n    };\n\n    /**\n     * Set log level to Info\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setInfo() {\n        this.setLogLevel(INFO);\n        return this;\n    };\n\n    /**\n     * Set log level to Warn\n     *\n     * @returns {undefined}\n     * @since 1.5.0\n     */\n    setWarn() {\n        this.setLogLevel(WARN);\n        return this;\n    };\n\n    /**\n     * Set log level to Error\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setError() {\n        this.setLogLevel(ERROR);\n        return this;\n    };\n\n    /**\n     * Set log level to Fatal\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setFatal() {\n        this.setLogLevel(FATAL);\n        return this;\n    };\n\n\n    /**\n     * Set log level to Off\n     *\n     * @returns {Handler}\n     * @since 1.5.0\n     */\n    setOff() {\n        this.setLogLevel(OFF);\n        return this;\n    };\n\n\n}\n\n\nMonster.assignToNamespace('Monster.Logging', Handler);\nexport {Monster, Handler};\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../../namespace.js';\nimport {Base} from '../../types/base.js';\nimport {Handler} from '../../logging/handler.js';\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Handler.ConsoleHandler()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new Monster.Logging.Handler.ConsoleHandler())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';\n * console.log(new ConsoleHandler())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging/Handler\n */\nclass ConsoleHandler extends Base {\n    constructor() {\n        super();\n    }\n}\n\n\nMonster.assignToNamespace('Monster.Logging', ConsoleHandler);\nexport {Monster, Handler};\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger} from '../types/validate.js';\nimport {Base} from  '../types/base.js';\n\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.LogEntry()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new Monster.Logging.LogEntry())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';\n * console.log(new LogEntry())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass LogEntry extends Base {\n    /**\n     *\n     * @param {int} loglevel\n     * @param {*} args\n     */\n    constructor(loglevel, ...args) {\n        super();\n        validateInteger(loglevel);\n\n        this.loglevel = loglevel\n        this.arguments = args\n    }\n\n    /**\n     *\n     * @returns {integerr}\n     */\n    getLogLevel() {\n        return this.loglevel\n    }\n\n    /**\n     *\n     * @returns {array}\n     */\n    getArguments() {\n        return this.arguments\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Logging', LogEntry);\nexport {Monster, LogEntry}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateInteger, validateObject, validateString} from '../types/validate.js';\nimport {Handler} from '../logging/handler.js';\nimport {LogEntry} from '../logging/logentry.js';\nimport {Base} from '../types/base.js';\n\n\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ALL = 255;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst TRACE = 64;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst DEBUG = 32;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst INFO = 16;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst WARN = 8;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst ERROR = 4;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst FATAL = 2;\n/**\n * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF\n * @type {number}\n * @memberOf Monster/Logging\n */\nconst OFF = 0;\n\n/**\n * you can call the method via the monster namespace `new Monster.Logging.Logger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Monster.Logging.Logger())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';\n * console.log(new Logger())\n * </script>\n * ```\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Logging\n */\nclass Logger extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.handler = new Set;\n    }\n\n    /**\n     *\n     * @param {Handler} handler\n     * @returns {Logger}\n     * @throws {Error} the handler must be an instance of Handler\n     */\n    addHandler(handler) {\n        validateObject(handler)\n        if (!(handler instanceof Handler)) {\n            throw new Error(\"the handler must be an instance of Handler\")\n        }\n\n        this.handler.add(handler)\n        return this;\n    }\n\n    /**\n     *\n     * @param {Handler} handler\n     * @returns {Logger}\n     * @throws {Error} the handler must be an instance of Handler\n     */\n    removeHandler(handler) {\n        validateObject(handler)\n        if (!(handler instanceof Handler)) {\n            throw new Error(\"the handler must be an instance of Handler\")\n        }\n\n        this.handler.delete(handler);\n        return this;\n    }\n\n    /**\n     * log Trace message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logTrace() {\n        triggerLog.apply(this, [TRACE, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Debug message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logDebug() {\n        triggerLog.apply(this, [DEBUG, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Info message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logInfo() {\n        triggerLog.apply(this, [INFO, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Warn message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logWarn() {\n        triggerLog.apply(this, [WARN, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Error message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logError() {\n        triggerLog.apply(this, [ERROR, ...arguments]);\n        return this;\n    };\n\n    /**\n     * log Fatal message\n     *\n     * ALL > TRACE > DEBUG > INFO > WARN > ERROR > FATAL > OFF  (ALL = 0xff;OFF = 0x00;\n     *\n     * @param {*} arguments\n     * @returns {Logger}\n     * @since 1.5.0\n     */\n    logFatal() {\n        triggerLog.apply(this, [FATAL, ...arguments]);\n        return this;\n    };\n\n\n    /**\n     * Labels\n     *\n     * @param {integer} level\n     * @returns {string}\n     */\n    getLabel(level) {\n        validateInteger(level);\n\n        if (level === ALL) return 'ALL';\n        if (level === TRACE) return 'TRACE';\n        if (level === DEBUG) return 'DEBUG';\n        if (level === INFO) return 'INFO';\n        if (level === WARN) return 'WARN';\n        if (level === ERROR) return 'ERROR';\n        if (level === FATAL) return 'FATAL';\n        if (level === OFF) return 'OFF';\n\n        return 'unknown';\n    };\n\n    /**\n     * Level\n     *\n     * @param {string} label\n     * @returns {integer}\n     */\n    getLevel(label) {\n        validateString(label);\n\n        if (label === 'ALL') return ALL;\n        if (label === 'TRACE') return TRACE;\n        if (label === 'DEBUG') return DEBUG;\n        if (label === 'INFO') return INFO;\n        if (label === 'WARN') return WARN;\n        if (label === 'ERROR') return ERROR;\n        if (label === 'FATAL') return FATAL;\n        if (label === 'OFF') return OFF;\n\n        return 0;\n    };\n\n\n}\n\nMonster.assignToNamespace('Monster.Logging', Logger);\nexport {Monster, Logger, ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF};\n\n\n/**\n * Log triggern\n *\n * @param {integer} loglevel\n * @param {*} args\n * @returns {Logger}\n * @private\n */\nfunction triggerLog(loglevel, ...args) {\n    var logger = this;\n\n    for (let handler of logger.handler) {\n        handler.log(new LogEntry(loglevel, args))\n    }\n\n    return logger;\n\n}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\n\nimport {Monster, getGlobal} from '../types/global.js';\n\n\n/**\n * this function uses crypt and returns a random number.\n *\n * you can call the method via the monster namespace `Monster.Math.random()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(Monster.Math.random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';\n * console.log(random(1,10)) // ↦ 5\n * </script>\n * ```\n *\n * @param {number} min starting value of the definition set (default is 0)\n * @param {number} max end value of the definition set (default is 1000000000)\n * @returns {number}\n * @memberOf Monster/Math\n\n * @since 1.0.0\n * @copyright schukai GmbH\n */\nfunction random(min, max) {\n\n    if (min === undefined) {\n        min = 0;\n    }\n    if (max === undefined) {\n        max = MAX;\n    }\n\n    if (max < min) {\n        throw new Error(\"max must be greater than min\");\n    }\n\n    return Math.round(create(min, max));\n\n}\n\n/**\n * @private\n * @type {number}\n */\nvar MAX = 1000000000;\n\n\nMath.log2 = Math.log2 || function (n) {\n    return Math.log(n) / Math.log(2);\n};\n\n/**\n *\n * @param min\n * @param max\n * @returns {*}\n * @private\n */\nfunction create(min, max) {\n    let crypt;\n    let globalReference = getGlobal();\n\n    crypt = globalReference?.['crypto'] || globalReference?.['msCrypto'] || globalReference?.['crypto'] || undefined;\n\n    if (typeof crypt === \"undefined\") {\n        throw new Error(\"missing crypt\")\n    }\n\n    let rval = 0;\n    const range = max - min;\n    if (range < 2) {\n        return min;\n    }\n\n    const bitsNeeded = Math.ceil(Math.log2(range));\n    if (bitsNeeded > 53) {\n        throw  new Error(\"we cannot generate numbers larger than 53 bits.\");\n    }\n    const bytesNeeded = Math.ceil(bitsNeeded / 8);\n    const mask = Math.pow(2, bitsNeeded) - 1;\n\n    const byteArray = new Uint8Array(bytesNeeded);\n    crypt.getRandomValues(byteArray);\n\n    let p = (bytesNeeded - 1) * 8;\n    for (var i = 0; i < bytesNeeded; i++) {\n        rval += byteArray[i] * Math.pow(2, p);\n        p -= 8;\n    }\n\n    rval = rval & mask;\n\n    if (rval >= range) {\n        return create(min, max);\n    }\n\n    return min + rval;\n\n}\n\nMonster.assignToNamespace('Monster.Math', random);\nexport {Monster, random}\n\n\n\n\n",
     "/**\n * @license\n * Copyright 2021 schukai GmbH\n * SPDX-License-Identifier: AGPL-3.0-only or COMMERCIAL\n * @author schukai GmbH\n */\n\n'use strict';\n\nimport {Monster} from './namespace.js';\nimport './types/base.js';\nimport './types/global.js';\nimport './types/id.js';\nimport './types/is.js';\nimport './types/observer.js';\nimport './types/observerlist.js';\nimport './types/proxyobserver.js';\nimport './types/queue.js';\nimport './types/randomid.js';\nimport './types/stack.js';\nimport './types/tokenlist.js';\nimport './types/uniquequeue.js';\nimport './types/validate.js';\nimport './types/version.js';\nimport './math/random.js';\nimport './data/diff.js';\nimport './data/pathfinder.js';\nimport './data/pipe.js';\nimport './data/transformer.js';\nimport './logging/handler.js';\nimport './logging/logentry.js';\nimport './logging/logger.js';\nimport './logging/handler/console.js';\nimport './util/clone.js';\nimport './util/comparator.js';\nimport './util/freeze.js';\nimport './constraints/abstract.js';\nimport './constraints/abstractoperator.js';\nimport './constraints/andoperator.js';\nimport './constraints/invalid.js';\nimport './constraints/isarray.js';\nimport './constraints/isobject.js';\nimport './constraints/oroperator.js';\nimport './constraints/valid.js';\nimport './dom/util.js';\nimport './dom/template.js';\nimport './dom/handle.js';\nimport './dom/assembler.js';\nimport './dom/customelement.js';\n\n\nMonster.Util.deepFreeze(Monster);\nexport {Monster};\n\nlet rootName\ntry {\n    rootName = Monster.Types.getGlobalObject('__MonsterRootName__');\n} catch (e) {\n\n}\n\nif (!rootName) rootName = \"Monster\";\n\nMonster.Types.getGlobal()[rootName] = Monster",
-    "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n    /**\n     *\n     * @param namespace\n     * @param obj\n     */\n    constructor(namespace) {\n        if (namespace === undefined || typeof namespace !== 'string') {\n            throw new Error(\"namespace is not a string\")\n        }\n        this.namespace = namespace;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getNamespace() {\n        return this.namespace;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.getNamespace();\n    }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';\n * function hello() {\n *            console.log('Hello World!');\n *        }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n    let current = namespaceFor(ns.split(\".\"));\n\n    for (let i = 0, l = obj.length; i < l; i++) {\n        current[objectName(obj[i])] = obj[i];\n    }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n    try {\n\n        if (typeof fn !== 'function') {\n            throw  new Error(\"the first argument is not a function or class.\");\n        }\n\n        if (fn.hasOwnProperty('name')) {\n            return fn.name;\n        }\n\n        if (\"function\" === typeof fn.toString) {\n            let s = fn.toString();\n            let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n            if (Array.isArray(f) && typeof f[1] === 'string') {\n                return f[1];\n            }\n            let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n            if (Array.isArray(c) && typeof c[1] === 'string') {\n                return c[1];\n            }\n        }\n\n    } catch (e) {\n        throw new Error(\"exception \" + e);\n    }\n\n    throw  new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n    var space = Monster, ns = 'Monster';\n\n    for (let i = 0; i < parts.length; i++) {\n\n        if (\"Monster\" === parts[i]) {\n            continue;\n        }\n\n        ns += '.' + parts[i];\n\n        if (!space.hasOwnProperty(parts[i])) {\n            space[parts[i]] = new Namespace(ns);\n        }\n\n        space = space[parts[i]];\n    }\n\n    return space;\n}\n\n\nexport {assignToNamespace}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return JSON.stringify(this);\n    };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n    if (typeof globalThis === 'object') {\n        globalReference = globalThis;\n        return;\n    }\n\n    Object.defineProperty(Object.prototype, '__monster__', {\n        get: function () {\n            return this;\n        },\n        configurable: true\n    });\n\n    __monster__.globalThis = __monster__;\n    delete Object.prototype.__monster__;\n\n    globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n    return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n    validateString(name);\n    let o = globalReference?.[name];\n    if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n    validateObject(o);\n    return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n    validateString(name);\n    let f = globalReference?.[name];\n    if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n    validateFunction(f);\n    return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n    /**\n     * create new object\n     */\n    constructor(prefix) {\n        super();\n\n        if (prefix === undefined) {\n            prefix = \"id\";\n        }\n\n        validateString(prefix);\n\n        if (!internalCounter.has(prefix)) {\n            internalCounter.set(prefix, 1);\n        }\n\n        let count = internalCounter.get(prefix);\n        this.id = prefix + count;\n\n        internalCounter.set(prefix, ++count);\n    }\n\n    /**\n     * @return {string}\n     */\n    toString() {\n        return this.id;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isIterable(null))  // ↦ false\n * console.log(isIterable('hello'))  // ↦ true\n * console.log(isIterable([]))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n    if (value === undefined) return false;\n    if (value === null) return false;\n    return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2'))  // ↦ true\n * console.log(isPrimitive([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n    var type;\n\n    if (value === undefined || value === null || value === NaN) {\n        return true;\n    }\n\n    type = typeof value;\n\n    if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isBoolean('2'))  // ↦ false\n * console.log(isBoolean([]))  // ↦ false\n * console.log(isBoolean(2>4))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n    if (value === true || value === false) {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isString('2'))  // ↦ true\n * console.log(isString([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n    if (value === undefined || typeof value !== 'string') {\n        return false;\n    }\n    return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isObject('2'))  // ↦ false\n * console.log(isObject([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n    if (isArray(value)) return false;\n    if (isPrimitive(value)) return false;\n\n    if (typeof value === 'object') {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isInstance('2'))  // ↦ false\n * console.log(isInstance([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n    if (!isObject(value)) return false;\n    if (!isFunction(instance)) return false;\n    if (!instance.hasOwnProperty('prototype')) return false;\n    return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isArray('2'))  // ↦ false\n * console.log(isArray([]))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n    if (Array.isArray(value)) {\n        return true;\n    }\n    return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2'))  // ↦ false\n * console.log(isFunction([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n    if (isArray(value)) return false;\n    if (isPrimitive(value)) return false;\n\n    if (typeof value === 'function') {\n        return true;\n    }\n\n    return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2'))  // ↦ false\n * console.log(isInteger(2))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n    return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n *     // this is not subject\n * })\n *\n * new Observer(function() {\n *     // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n *     console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n *      console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n    /**\n     *\n     * @param {function} callback\n     * @param {*} args\n     */\n    constructor(callback, ...args) {\n        super();\n\n        if (typeof callback !== 'function') {\n            throw new Error(\"observer callback must be a function\")\n        }\n\n        this.callback = callback;\n        this.arguments = args;\n        this.tags = new TokenList;\n        this.queue = new UniqueQueue();\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {Observer}\n     */\n    addTag(tag) {\n        this.tags.add(tag);\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {Observer}\n     */\n    removeTag(tag) {\n        this.tags.remove(tag);\n        return this;\n    }\n\n    /**\n     *\n     * @returns {Array}\n     */\n    getTags() {\n        return this.tags.entries()\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {boolean}\n     */\n    hasTag(tag) {\n        return this.tags.contains(tag)\n    }\n\n    /**\n     *\n     * @param {object} subject\n     * @returns {Promise}\n     */\n    update(subject) {\n        let self = this;\n\n        return new Promise(function (resolve, reject) {\n            if (!isObject(subject)) {\n                reject(\"subject must be an object\");\n                return;\n            }\n\n            self.queue.add(subject);\n\n            setTimeout(() => {\n\n                // the queue and the settimeout ensure that an object is not \n                // informed of the same change more than once.\n                if (self.queue.isEmpty()) {\n                    resolve();\n                    return;\n                }\n\n                let s = self.queue.poll();\n                let result = self.callback.apply(s, self.arguments);\n\n                if (isObject(result) && result instanceof Promise) {\n                    result.then(resolve).catch(reject);\n                    return;\n                }\n\n                resolve(result);\n            }, 0)\n\n        });\n\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.observers = [];\n    }\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {ObserverList}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    attach(observer) {\n        validateInstance(observer, Observer)\n\n        this.observers.push(observer);\n        return this;\n    };\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {ObserverList}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    detach(observer) {\n        validateInstance(observer, Observer)\n\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            if (this.observers[i] === observer) {\n                this.observers.splice(i, 1);\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {boolean}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    contains(observer) {\n        validateInstance(observer, Observer)\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            if (this.observers[i] === observer) {\n                return true;\n            }\n        }\n        return false;\n    };\n\n    /**\n     *\n     * @param subject\n     * @return {Promise}\n     */\n    notify(subject) {\n\n        let pomises = []\n\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            pomises.push(this.observers[i].update(subject));\n        }\n\n        return Promise.all(pomises);\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from  './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * an observer manages a callback function\n *\n * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n *   if (isObject(this) && this instanceof ProxyObserver) {\n *       // do something (this ist ProxyObserver)\n *       const subject = this.getSubject();\n *       console.log(subject);\n *   }\n * });\n * \n * let realSubject = {\n *   a: {\n *       b: {\n *           c: true\n *       },\n *       d: 9\n *   }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n    /**\n     *\n     * @param {object} object\n     * @throws {TypeError} value is not a object\n     */\n    constructor(object) {\n        super();\n        validateObject(object);\n        this.realSubject = object\n        this.subject = new Proxy(object, getHandler.call(this));\n\n        this.objectMap = new WeakMap();\n        this.objectMap.set(this.realSubject, this.subject);\n\n        this.observers = new ObserverList;\n    }\n\n    /**\n     * get the real object\n     *\n     * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n     *\n     * @returns {object}\n     */\n    getSubject() {\n        return this.subject\n    }\n\n    /**\n     * get the proxied object\n     *\n     * @returns {object}\n     */\n    getRealSubject() {\n        return this.realSubject\n    }\n\n    /**\n     * attach a new observer\n     *\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    attachObserver(observer) {\n        this.observers.attach(observer)\n        return this;\n    }\n\n    /**\n     * detach a observer\n     *\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    detachObserver(observer) {\n        this.observers.detach(observer)\n        return this;\n    }\n\n    /**\n     * notify all observer\n     *\n     * @returns {ProxyObserver}\n     */\n    notifyObservers() {\n        this.observers.notify(this);\n        return this;\n    }\n\n    /**\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    containsObserver(observer) {\n        return this.observers.contains(observer)\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n    const proxy = this;\n\n    // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n    const handler = {\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n        get: function (target, key, receiver) {\n\n            const value = Reflect.get(target, key, receiver);\n\n            if (typeof key === \"symbol\") {\n                return value;\n            }\n\n            if (isPrimitive(value)) {\n                return value;\n            }\n\n            // set value as proxy if object or array\n            if ((isArray(value) || isObject(value))) {\n                if (proxy.objectMap.has(value)) {\n                    return proxy.objectMap.get(value);\n                } else {\n                    let p = new Proxy(value, handler);\n                    proxy.objectMap.set(value, p);\n                    return p;\n                }\n\n            }\n\n            return value;\n\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n        set: function (target, key, value, receiver) {\n            const result = Reflect.set(target, key, value, receiver);\n            if (typeof property !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n            return result;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n        deleteProperty: function (target, key) {\n            if (key in target) {\n                delete target[key];\n\n                if (typeof key !== \"symbol\") {\n                    proxy.observers.notify(proxy);\n                }\n\n\n                return true;\n            }\n            return false;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n        defineProperty: function (target, key, descriptor) {\n            let result = Reflect.defineProperty(target, key, descriptor);\n\n            if (typeof key !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n\n            return result;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n        setPrototypeOf: function (target, key) {\n            let result = Reflect.setPrototypeOf(object1, key);\n\n            if (typeof key !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n            return result;\n        }\n\n    };\n\n\n    return handler;\n}\n",
-    "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.data = [];\n    }\n\n\n    /**\n     * @return {boolean}\n     */\n    isEmpty() {\n        return this.data.length === 0;\n    }\n\n    /**\n     * Read the element at the front of the queue without removing it.\n     *\n     * @return {*}\n     */\n    peek() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n\n        return this.data[0];\n    }\n\n    /**\n     * Add a new element to the end of the queue.\n     *\n     * @param {*} value\n     * @returns {Queue}\n     */\n    add(value) {\n        this.data.push(value)\n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        this.data = [];\n        return this;\n    }\n\n    /**\n     * Remove the element at the front of the queue\n     * If the queue is empty, return undefined.\n     *\n     * @return {*}\n     */\n    poll() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        return this.data.shift();\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n    /**\n     * create new object\n     */\n    constructor() {\n        super();\n\n        internalCounter += 1;\n\n        this.id = getGlobal().btoa(random(1, 10000))\n            .replace(/=/g, '')\n            /** No numbers at the beginning of the ID, because of possible problems with DOM */\n            .replace(/^[0-9]+/, 'X') + internalCounter;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n",
-    "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.data = [];\n    }\n\n\n    /**\n     * @return {boolean}\n     */\n    isEmpty() {\n        return this.data.length === 0;\n    }\n\n    /**\n     * looks at the object at the top of this stack without removing it from the stack.\n     *\n     * @return {*}\n     */\n    peek() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n\n        return this.data?.[this.data.length - 1];\n    }\n\n    /**\n     * pushes an item onto the top of this stack.\n     *\n     * @param {*} value\n     * @returns {Queue}\n     */\n    push(value) {\n        this.data.push(value)\n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        this.data = [];\n        return this;\n    }\n\n    /**\n     * removes the object at the top of this stack and returns\n     * that object as the value of this function. is the stack empty\n     * the return value is undefined.\n     *\n     * @return {*}\n     */\n    pop() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        return this.data.pop();\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from  './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n    /**\n     *\n     * @param {array|string|iteratable} init\n     */\n    constructor(init) {\n        super();\n        this.tokens = new Set();\n\n        if (typeof init !== \"undefined\") {\n            this.add(init);\n        }\n\n    }\n\n    /**\n     * Iterator protocol\n     *\n     * @returns {Symbol.iterator}\n     */\n    getIterator() {\n        return this[Symbol.iterator]();\n    }\n\n    /**\n     * Iterator\n     *\n     * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n     */\n    [Symbol.iterator]() {\n        // Use a new index for each iterator. This makes multiple\n        // iterations over the iterable safe for non-trivial cases,\n        // such as use of break or nested looping over the same iterable.\n        let index = 0;\n        let entries = this.entries()\n\n        return {\n            next: () => {\n                if (index < entries.length) {\n                    return {value: entries?.[index++], done: false}\n                } else {\n                    return {done: true}\n                }\n            }\n        }\n    }\n\n    /**\n     * Returns true if it contains token, otherwise false\n     *\n     * ```\n     * new TokenList(\"start middle end\").contains('start')); // ↦ true\n     * new TokenList(\"start middle end\").contains('end')); // ↦ true\n     * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n     * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n     * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {boolean}\n     */\n    contains(value) {\n        if (isString(value)) {\n            value = value.trim()\n            let counter = 0;\n            value.split(\" \").forEach(token => {\n                if (this.tokens.has(token.trim()) === false) return false;\n                counter++\n            })\n            return counter > 0 ? true : false;\n        }\n\n        if (isIterable(value)) {\n            let counter = 0;\n            for (let token of value) {\n                validateString(token);\n                if (this.tokens.has(token.trim()) === false) return false;\n                counter++\n            }\n            return counter > 0 ? true : false;\n        }\n\n        return false;\n    }\n\n    /**\n     * add tokens\n     *\n     * ```\n     * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n     * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n     * new TokenList().add(undefined); // ↦ add nothing\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {TokenList}\n     * @throws {TypeError} unsupported value\n     */\n    add(value) {\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                this.tokens.add(token.trim());\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                validateString(token);\n                this.tokens.add(token.trim());\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n    }\n\n    /**\n     * remove all tokens\n     *\n     * @returns {TokenList}\n     */\n    clear() {\n        this.tokens.clear();\n        return this;\n    }\n\n    /**\n     * Removes token\n     *\n     * ```\n     * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n     * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n     * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {TokenList}\n     * @throws {TypeError} unsupported value\n     */\n    remove(value) {\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                this.tokens.delete(token.trim());\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                validateString(token);\n                this.tokens.delete(token.trim());\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n    }\n\n    /**\n     * this method replaces a token with a new token.\n     *\n     * if the passed token exists, it is replaced with newToken and TokenList is returned.\n     * if the token does not exist, newToken is not set and TokenList is returned.\n     *\n     * @param {string} token\n     * @param {string} newToken\n     * @returns {TokenList}\n     */\n    replace(token, newToken) {\n        validateString(token);\n        validateString(newToken);\n        if (!this.contains(token)) {\n            return this;\n        }\n\n        let a = Array.from(this.tokens)\n        let i = a.indexOf(token);\n        if (i === -1) return this;\n\n        a.splice(i, 1, newToken);\n        this.tokens = new Set();\n        this.add(a);\n\n        return this;\n\n\n    }\n\n    /**\n     * Removes token from string. If token doesn't exist it's added.\n     * \n     * ```\n     * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n     * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n     * new TokenList().toggle(undefined); // ↦ nothing\n     * ```\n     * \n     * @param {array|string|iteratable} value\n     * @returns {boolean}\n     * @throws {TypeError} unsupported value\n     */\n    toggle(value) {\n\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                toggleValue.call(this, token);\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                toggleValue.call(this, token);\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n\n    }\n\n    /**\n     * returns an array with all tokens\n     *\n     * @returns {array}\n     */\n    entries() {\n        return Array.from(this.tokens)\n    }\n\n    /**\n     * executes the provided function with each value of the set\n     *\n     * @param {function} callback\n     * @returns {TokenList}\n     */\n    forEach(callback) {\n        validateFunction(callback);\n        this.tokens.forEach(callback);\n        return this;\n    }\n\n    /**\n     * returns the individual tokens separated by a blank character\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.entries().join(' ');\n    }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n    if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n    validateString(token);\n    token = token.trim();\n    if (this.contains(token)) {\n        this.remove(token);\n        return this;\n    }\n    this.add(token);\n    return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n",
-    "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.unique = new WeakSet();\n    }\n\n    /**\n     * Add a new element to the end of the queue.\n     *\n     * @param {object} value\n     * @returns {Queue}\n     * @throws {TypeError} value is not a object\n     */\n    add(value) {\n        \n        validateObject(value);\n        \n        if (!this.unique.has(value)) {\n            this.unique.add(value);\n            super.add(value);\n        }\n        \n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        super.clear();\n        this.unique = new WeakSet;\n        return this;\n    }\n\n    /**\n     * Remove the element at the front of the queue\n     * If the queue is empty, return undefined.\n     *\n     * @return {object}\n     */\n    poll() {\n\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        let value = this.data.shift();\n        this.unique.delete(value);\n        return value;\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n    isPrimitive,\n    isBoolean,\n    isString,\n    isObject,\n    isArray,\n    isFunction,\n    isIterable,\n    isInstance,\n    isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2'))  // ↦ TypeError\n * console.log(validateIterable([]))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n    if (!isIterable(value)) {\n        throw new TypeError('value is not iterable')\n    }\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2'))  // ↦ undefined\n * console.log(validatePrimitive([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n    if (!isPrimitive(value)) {\n        throw new TypeError('value is not a primitive')\n    }\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false))  // ↦ undefined\n * console.log(validateBoolean('2'))  // ↦ TypeError\n * console.log(validateBoolean([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError}  value is not primitive\n */\nfunction validateBoolean(value) {\n    if (!isBoolean(value)) {\n        throw new TypeError('value is not a boolean')\n    }\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateString('2'))  // ↦ undefined\n * console.log(validateString([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n    if (!isString(value)) {\n        throw new TypeError('value is not a string')\n    }\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateObject({}))  // ↦ undefined\n * console.log(validateObject('2'))  // ↦ TypeError\n * console.log(validateObject([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n    if (!isObject(value)) {\n        throw new TypeError('value is not a object')\n    }\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n    if (!isInstance(value, instance)) {\n        let n = \"\";\n        if (isObject(instance) || isFunction(instance)) {\n            n = instance?.['name']\n        }\n\n        if (n) {\n            n = \" \" + n;\n        }\n\n        throw new TypeError('value is not an instance of' + n)\n    }\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateArray('2'))  // ↦ TypeError\n * console.log(validateArray([]))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n    if (!isArray(value)) {\n        throw new TypeError('value is not an array')\n    }\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2'))  // ↦ TypeError\n * console.log(validateFunction([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n    if (!isFunction(value)) {\n        throw new TypeError('value is not a function')\n    }\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2'))  // ↦ TypeError\n * console.log(validateInteger(2))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {undefined}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n    if (!isInteger(value)) {\n        throw new TypeError('value is not an integer')\n    }\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n    Monster,\n    validatePrimitive,\n    validateBoolean,\n    validateString,\n    validateObject,\n    validateInstance,\n    validateArray,\n    validateFunction,\n    validateIterable,\n    validateInteger\n}\n",
-    "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1)  // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n    /**\n     *\n     * @param major\n     * @param minor\n     * @param patch\n     * @throws {Error} major is not a number\n     * @throws {Error} minor is not a number\n     * @throws {Error} patch is not a number\n     */\n    constructor(major, minor, patch) {\n        super();\n\n        if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n            let parts = major.toString().split('.');\n            major = parseInt(parts[0] || 0);\n            minor = parseInt(parts[1] || 0);\n            patch = parseInt(parts[2] || 0);\n        }\n\n        if (major === undefined) {\n            throw  new Error(\"major version is undefined\");\n        }\n\n        if (minor === undefined) {\n            minor = 0;\n        }\n\n        if (patch === undefined) {\n            patch = 0;\n        }\n\n        this.major = parseInt(major);\n        this.minor = parseInt(minor);\n        this.patch = parseInt(patch);\n\n        if (isNaN(this.major)) {\n            throw  new Error(\"major is not a number\");\n        }\n\n        if (isNaN(this.minor)) {\n            throw  new Error(\"minor is not a number\");\n        }\n\n        if (isNaN(this.patch)) {\n            throw  new Error(\"patch is not a number\");\n        }\n\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.major + '.' + this.minor + '.' + this.patch;\n    }\n\n    /**\n     * returns 0 if equal, -1 if the object version is less and 1 if greater\n     * then the compared version\n     *\n     * @param {string|Version} version Version to compare\n     * @returns {number}\n     */\n    compareTo(version) {\n\n        if (version instanceof Version) {\n            version = version.toString();\n        }\n\n        if (typeof version !== 'string') {\n            throw  new Error(\"type exception\");\n        }\n\n        if (version === this.toString()) {\n            return 0;\n        }\n\n        let a = [this.major, this.minor, this.patch];\n        let b = version.split('.');\n        let len = Math.max(a.length, b.length);\n\n        for (let i = 0; i < len; i += 1) {\n            if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n                return 1;\n            } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n                return -1;\n            }\n        }\n\n        return 0;\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n    if (monsterVersion instanceof Version) {\n        return monsterVersion;\n    }\n    /**#@+ dont touch, replaced by make with package.json version */\n    monsterVersion = new Version('1.7.0')\n    /**#@-*/\n    return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n    // typeof null results in 'object'.  https://2ality.com/2013/10/typeof-null.html\n    if (null === obj) {\n        return obj;\n    }\n\n    // Handle the two simple types, null and undefined\n    if (isPrimitive(obj)) {\n        return obj;\n    }\n    \n    // Handle the two simple types, null and undefined\n    if (isFunction(obj)) {\n        return obj;\n    }\n\n    // Handle Array\n    if (isArray(obj)) {\n        let copy = [];\n        for (var i = 0, len = obj.length; i < len; i++) {\n            copy[i] = clone(obj[i]);\n        }\n\n        return copy;\n    }\n\n    if (isObject(obj)) {\n\n\n        // Handle Date\n        if (obj instanceof Date) {\n            let copy = new Date();\n            copy.setTime(obj.getTime());\n            return copy;\n        }\n\n        /** Do not clone DOM nodes */\n        if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n        if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n        if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n        /** Do not clone global objects */\n        if (obj === getGlobal()) return obj;\n        if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n        if (typeof window !== 'undefined' && obj === window) return obj;\n        if (typeof document !== 'undefined' && obj === document) return obj;\n        if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n        if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n        // Handle Proxy-Object\n        try {\n            // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n            if (obj instanceof Proxy) {\n                return obj;\n            }\n        } catch (e) {\n        }\n\n        return cloneObject(obj)\n\n    }\n\n    throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n    var copy;\n\n    /** Object has clone method */\n    if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n        return obj.getClone();\n    }\n\n    copy = {};\n    if (typeof obj.constructor === 'function' &&\n        typeof obj.constructor.call === 'function') {\n        copy = new obj.constructor();\n    }\n\n    for (let key in obj) {\n\n        if (!obj.hasOwnProperty(key)) {\n            continue;\n        }\n\n        if (Monster.Types.isPrimitive(obj[key])) {\n            copy[key] = obj[key];\n            continue;\n        }\n\n        copy[key] = clone(obj[key]);\n    }\n\n    return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n *      if (a.v === b.v) return 0;\n *         return a.v < b.v ? -1 : 1;\n *      }).equal({v: 2}, {v: 2});  // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n    /**\n     * create new comparator\n     *\n     * @param {function} callback\n     * @throw {TypeError} \"unsupported type\"\n     * @throw {TypeError} \"impractical comparison\"\n     */\n    constructor(callback) {\n        super();\n\n        if (isFunction(callback)) {\n            this.compare = callback\n        } else if (callback !== undefined) {\n            throw new TypeError(\"unsupported type\")\n        } else {\n            // default compare function\n            this.compare = function (a, b) {\n\n                if (typeof a !== typeof b) {\n                    throw new TypeError(\"impractical comparison\")\n                }\n\n                if (a === b) {\n                    return 0;\n                }\n                return a < b ? -1 : 1;\n            };\n        }\n\n    }\n\n    /**\n     * changes the order of the operators\n     *\n     * @return {Comparator}\n     */\n    reverse() {\n        const original = this.compare;\n        this.compare = (a, b) => original(b, a);\n        return this;\n    }\n\n    /**\n     * Checks if two variables are equal.\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    equal(a, b) {\n        return this.compare(a, b) === 0;\n    }\n\n\n    /**\n     * Checks if variable `a` is greater than `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    greaterThan(a, b) {\n        return this.compare(a, b) > 0;\n    }\n\n    /**\n     * Checks if variable `a` is greater than or equal to `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    greaterThanOrEqual(a, b) {\n        return this.greaterThan(a, b) || this.equal(a, b);\n    }\n\n    /**\n     * Checks if variable `a` is less than or equal to `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    lessThanOrEqual(a, b) {\n        return this.lessThan(a, b) || this.equal(a, b);\n    }\n\n    /**\n     * Checks if variable a is less than b\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    lessThan(a, b) {\n        return this.compare(a, b) < 0;\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n",
-    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({}))  \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n    \n    validateObject(object)\n\n    // Retrieve the defined property names of the object\n    var propNames = Object.getOwnPropertyNames(object);\n\n    // Freeze properties before freezing yourself\n    for (let name of propNames) {\n        let value = object[name];\n\n        object[name] = value && typeof value === \"object\" ?\n            deepFreeze(value) : value;\n    }\n\n    return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n"
+    "'use strict';\n\n/**\n * @namespace Monster\n * @author schukai GmbH\n */\n\n\n/**\n * namespace class objects form the basic framework of the namespace administration.\n *\n * all functions, classes and objects of the library hang within the namespace tree.\n *\n * via `obj instanceof Monster.Namespace` it is also easy to check whether it is an object or a namespace.\n *\n * @memberOf Monster\n * @copyright schukai GmbH\n * @since 1.0.0\n */\nclass Namespace {\n\n    /**\n     *\n     * @param namespace\n     * @param obj\n     */\n    constructor(namespace) {\n        if (namespace === undefined || typeof namespace !== 'string') {\n            throw new Error(\"namespace is not a string\")\n        }\n        this.namespace = namespace;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    getNamespace() {\n        return this.namespace;\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.getNamespace();\n    }\n}\n\n/**\n * @type {Namespace}\n * @global\n */\nexport const Monster = new Namespace(\"Monster\");\n\n\n/**\n *\n */\nassignToNamespace('Monster', assignToNamespace);\n\n/**\n * To expand monster, the `Monster.assignToNamespace()` method can be used. \n *\n * you must call the method in the monster namespace. this allows you to mount your own classes, objects and functions into the namespace.\n * \n * To avoid confusion and so that you do not accidentally overwrite existing functions, you should use the custom namespace `X`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';\n * function hello() {\n *            console.log('Hello World!');\n *        }\n * Monster.assignToNamespace(\"Monster.X\",hello)\n * Monster.X.hello(); // ↦ Hello World!\n * </script>\n * \n * ```\n *\n * @param ns\n * @param obj\n * @memberOf Monster\n \n */\nfunction assignToNamespace(ns, ...obj) {\n    let current = namespaceFor(ns.split(\".\"));\n\n    for (let i = 0, l = obj.length; i < l; i++) {\n        current[objectName(obj[i])] = obj[i];\n    }\n}\n\n/**\n *\n * @param fn\n * @returns {string|*}\n * @private\n */\nfunction objectName(fn) {\n    try {\n\n        if (typeof fn !== 'function') {\n            throw  new Error(\"the first argument is not a function or class.\");\n        }\n\n        if (fn.hasOwnProperty('name')) {\n            return fn.name;\n        }\n\n        if (\"function\" === typeof fn.toString) {\n            let s = fn.toString();\n            let f = s.match(/^\\s*function\\s+([^\\s(]+)/);\n            if (Array.isArray(f) && typeof f[1] === 'string') {\n                return f[1];\n            }\n            let c = s.match(/^\\s*class\\s+([^\\s(]+)/);\n            if (Array.isArray(c) && typeof c[1] === 'string') {\n                return c[1];\n            }\n        }\n\n    } catch (e) {\n        throw new Error(\"exception \" + e);\n    }\n\n    throw  new Error(\"the name of the class or function cannot be resolved.\");\n}\n\n/**\n *\n * @param parts\n * @returns {Namespace}\n * @private\n */\nfunction namespaceFor(parts) {\n    var space = Monster, ns = 'Monster';\n\n    for (let i = 0; i < parts.length; i++) {\n\n        if (\"Monster\" === parts[i]) {\n            continue;\n        }\n\n        ns += '.' + parts[i];\n\n        if (!space.hasOwnProperty(parts[i])) {\n            space[parts[i]] = new Namespace(ns);\n        }\n\n        space = space[parts[i]];\n    }\n\n    return space;\n}\n\n\nexport {assignToNamespace}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n\n/**\n * This is the base class from which all monster classes are derived.\n *\n * You can call the method via the monster namespace `new Monster.Types.Base()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Monster.Types.Base())\n * console.log(new Monster.Types.Base())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';\n * console.log(new Base())\n * console.log(new Base())\n * </script>\n * ```\n *\n * The class was formerly called Object.\n *\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Base extends Object {\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return JSON.stringify(this);\n    };\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Base);\nexport {Monster, Base}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateFunction, validateString, validateObject} from \"./validate.js\";\n\n/**\n * @type {objec}\n * @private\n */\nvar globalReference;\n\n/**\n * @private\n */\n(function () {\n    if (typeof globalThis === 'object') {\n        globalReference = globalThis;\n        return;\n    }\n\n    Object.defineProperty(Object.prototype, '__monster__', {\n        get: function () {\n            return this;\n        },\n        configurable: true\n    });\n\n    __monster__.globalThis = __monster__;\n    delete Object.prototype.__monster__;\n\n    globalReference = globalThis;\n\n}());\n\n/**\n * Return globalThis\n *\n * If globalThis is not available, it will be polyfilled\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @returns {objec} globalThis\n */\nfunction getGlobal() {\n    return globalReference;\n}\n\n/**\n * Return global object or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalObject('document')) // ↦ { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {Error} the object is not defined\n * @throws {TypeError} value is not a object\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalObject(name) {\n    validateString(name);\n    let o = globalReference?.[name];\n    if (typeof o === 'undefined') throw new Error('the object ' + name + ' is not defined');\n    validateObject(o);\n    return o;\n}\n\n/**\n * Return global function or throw Error\n *\n * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';\n * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }\n * </script>\n * ```\n *\n * @since 1.6.0\n * @memberOf Monster/Types\n * @param {string} name\n * @returns {objec}\n * @throws {TypeError} value is not a function\n * @throws {Error} the function is not defined\n * @throws {TypeError} value is not a string\n */\nfunction getGlobalFunction(name) {\n    validateString(name);\n    let f = globalReference?.[name];\n    if (typeof f === 'undefined') throw new Error('the function ' + name + ' is not defined');\n    validateFunction(f);\n    return f;\n}\n\n\nMonster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);\nexport {Monster, getGlobal, getGlobalObject, getGlobalFunction}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from './base.js';\nimport {validateString} from \"./validate.js\";\n\n/**\n * @private\n * @type {Map<string, integer>}\n */\nlet internalCounter = new Map;\n\n/**\n * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.\n * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.\n * The ids are the same for every call, for example on a web page.\n *\n * So the ids can also be used for navigation. you just have to take care that the order stays the same.\n *\n * You can call the method via the monster namespace `new Monster.Types.ID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new Monster.Types.ID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';\n * console.log(new ID())\n * </script>\n * ```\n *\n * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ID extends Base {\n\n    /**\n     * create new object\n     */\n    constructor(prefix) {\n        super();\n\n        if (prefix === undefined) {\n            prefix = \"id\";\n        }\n\n        validateString(prefix);\n\n        if (!internalCounter.has(prefix)) {\n            internalCounter.set(prefix, 1);\n        }\n\n        let count = internalCounter.get(prefix);\n        this.id = prefix + count;\n\n        internalCounter.set(prefix, ++count);\n    }\n\n    /**\n     * @return {string}\n     */\n    toString() {\n        return this.id;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ID);\nexport {Monster, ID}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\n\n/**\n * With this function you can check if a value is iterable\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isIterable(null)) // ↦ false\n * console.log(Monster.Types.isIterable('hello')) // ↦ true\n * console.log(Monster.Types.isIterable([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isIterable(null))  // ↦ false\n * console.log(isIterable('hello'))  // ↦ true\n * console.log(isIterable([]))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isIterable(value) {\n    if (value === undefined) return false;\n    if (value === null) return false;\n    return typeof value?.[Symbol.iterator] === 'function';\n}\n\n\n/**\n * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)\n *\n * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isPrimitive('2')) // ↦ false\n * console.log(Monster.Types.isPrimitive([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isPrimitive('2'))  // ↦ true\n * console.log(isPrimitive([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isPrimitive(value) {\n    var type;\n\n    if (value === undefined || value === null || value === NaN) {\n        return true;\n    }\n\n    type = typeof value;\n\n    if (type === 'string' || type === 'number' || type === 'boolean' || type === 'symbol') {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * Checks whether the value passed is a boolean\n *\n * You can call the method via the monster namespace `Monster.Types.isBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isBoolean('2')) // ↦ false\n * console.log(Monster.Types.isBoolean([])) // ↦ false\n * console.log(Monster.Types.isBoolean(true)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isBoolean('2'))  // ↦ false\n * console.log(isBoolean([]))  // ↦ false\n * console.log(isBoolean(2>4))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isBoolean(value) {\n\n    if (value === true || value === false) {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * checks whether the value passed is a string\n *\n * you can call the method via the monster namespace `Monster.Types.isString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isString('2')) // ↦ true\n * console.log(Monster.Types.isString([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isString('2'))  // ↦ true\n * console.log(isString([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isString(value) {\n    if (value === undefined || typeof value !== 'string') {\n        return false;\n    }\n    return true;\n}\n\n/**\n * checks whether the value passed is a object\n *\n * you can call the method via the monster namespace `Monster.Types.isObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isObject('2')) // ↦ false\n * console.log(Monster.Types.isObject([])) // ↦ false\n * console.log(Monster.Types.isObject({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isObject('2'))  // ↦ false\n * console.log(isObject([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isObject(value) {\n\n    if (isArray(value)) return false;\n    if (isPrimitive(value)) return false;\n\n    if (typeof value === 'object') {\n        return true;\n    }\n\n    return false;\n}\n\n/**\n * checks whether the value passed is a object and instance of instance\n *\n * you can call the method via the monster namespace `Monster.Types.isInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInstance('2')) // ↦ false\n * console.log(Monster.Types.isInstance([])) // ↦ false\n * console.log(Monster.Types.isInstance({})) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInstance('2'))  // ↦ false\n * console.log(isInstance([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @param {*} instance\n * @returns {boolean}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInstance(value, instance) {\n\n    if (!isObject(value)) return false;\n    if (!isFunction(instance)) return false;\n    if (!instance.hasOwnProperty('prototype')) return false;\n    return (value instanceof instance) ? true : false;\n\n}\n\n/**\n * checks whether the value passed is a array\n *\n * you can call the method via the monster namespace `Monster.Types.isArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isArray('2')) // ↦ false\n * console.log(Monster.Types.isArray([])) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isArray('2'))  // ↦ false\n * console.log(isArray([]))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isArray(value) {\n    if (Array.isArray(value)) {\n        return true;\n    }\n    return false;\n}\n\n/**\n * checks whether the value passed is a function\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isFunction(()=>{})) // ↦ true\n * console.log(Monster.Types.isFunction('2')) // ↦ false\n * console.log(Monster.Types.isFunction([])) // ↦ false\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isFunction(()=>{})) // ↦ true\n * console.log(isFunction('2'))  // ↦ false\n * console.log(isFunction([]))  // ↦ false\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isFunction(value) {\n    if (isArray(value)) return false;\n    if (isPrimitive(value)) return false;\n\n    if (typeof value === 'function') {\n        return true;\n    }\n\n    return false;\n\n}\n\n/**\n * checks whether the value passed is an integer\n *\n * you can call the method via the monster namespace `Monster.Types.isFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(Monster.Types.isInteger(()=>{})) // ↦ true\n * console.log(Monster.Types.isInteger('2')) // ↦ false\n * console.log(Monster.Types.isInteger(2)) // ↦ true\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * console.log(isInteger(()=>{})) // ↦ true\n * console.log(isInteger('2'))  // ↦ false\n * console.log(isInteger(2))  // ↦ true\n * </script>\n * ```\n *\n * @param {*} value\n * @returns {boolean}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nfunction isInteger(value) {\n    return Number.isInteger(value);\n}\n\n\nMonster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);\nexport {Monster, isPrimitive, isBoolean, isString, isObject, isInstance, isArray, isFunction, isIterable, isInteger}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {TokenList} from './tokenlist.js';\nimport {isObject} from './is.js';\nimport {Base} from './base.js';\nimport {UniqueQueue} from './uniquequeue.js';\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.Observer()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Monster.Types.Observer())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * console.log(new Observer())\n * </script>\n * ```\n *\n * The update method is called with the subject object as this pointer. For this reason the callback should not\n * be an arrow function, because it gets the this pointer of its own context.\n *\n * ```\n * <script>\n * new Observer(()=>{\n *     // this is not subject\n * })\n *\n * new Observer(function() {\n *     // this is subject\n * })\n * </script>\n * ```\n *\n * Additional arguments can be passed to the callback. To do this, simply specify them.\n *\n * ```\n * <script>\n * Observer(function(a, b, c) {\n *     console.log(a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true)\n * </script>\n * ```\n *\n * The callback function must have as many parameters as arguments are given.\n *\n * @example\n *\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n *\n * const observer = new Observer(function(a, b, c) {\n *      console.log(this, a, b, c); // ↦ \"a\", 2, true \n * }, \"a\", 2, true);\n *\n * observer.update({value:true}).then(()=>{});\n * // ↦ {value: true} \"a\" 2 true\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Observer extends Base {\n\n    /**\n     *\n     * @param {function} callback\n     * @param {*} args\n     */\n    constructor(callback, ...args) {\n        super();\n\n        if (typeof callback !== 'function') {\n            throw new Error(\"observer callback must be a function\")\n        }\n\n        this.callback = callback;\n        this.arguments = args;\n        this.tags = new TokenList;\n        this.queue = new UniqueQueue();\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {Observer}\n     */\n    addTag(tag) {\n        this.tags.add(tag);\n        return this;\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {Observer}\n     */\n    removeTag(tag) {\n        this.tags.remove(tag);\n        return this;\n    }\n\n    /**\n     *\n     * @returns {Array}\n     */\n    getTags() {\n        return this.tags.entries()\n    }\n\n    /**\n     *\n     * @param {string} tag\n     * @returns {boolean}\n     */\n    hasTag(tag) {\n        return this.tags.contains(tag)\n    }\n\n    /**\n     *\n     * @param {object} subject\n     * @returns {Promise}\n     */\n    update(subject) {\n        let self = this;\n\n        return new Promise(function (resolve, reject) {\n            if (!isObject(subject)) {\n                reject(\"subject must be an object\");\n                return;\n            }\n\n            self.queue.add(subject);\n\n            setTimeout(() => {\n\n                try {\n                    // the queue and the settimeout ensure that an object is not \n                    // informed of the same change more than once.\n                    if (self.queue.isEmpty()) {\n                        resolve();\n                        return;\n                    }\n\n                    let s = self.queue.poll();\n                    let result = self.callback.apply(s, self.arguments);\n\n                    if (isObject(result) && result instanceof Promise) {\n                        result.then(resolve).catch(reject);\n                        return;\n                    }\n\n                    resolve(result);\n\n                } catch (e) {\n                    reject(e);\n                }\n            }, 0)\n\n        });\n\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Observer);\nexport {Monster, Observer}\n\n\n\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\nimport {Observer} from \"./observer.js\";\nimport {validateInstance} from \"./validate.js\";\n\n/**\n * With the help of the ObserverList class, observer can be managed.\n *\n * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(new Monster.Types.ObserverList())\n * console.log(new Monster.Types.ObserverList())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';\n * console.log(ObserverList())\n * console.log(ObserverList())\n * </script>\n * ```\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ObserverList extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.observers = [];\n    }\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {ObserverList}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    attach(observer) {\n        validateInstance(observer, Observer)\n\n        this.observers.push(observer);\n        return this;\n    };\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {ObserverList}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    detach(observer) {\n        validateInstance(observer, Observer)\n\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            if (this.observers[i] === observer) {\n                this.observers.splice(i, 1);\n            }\n        }\n\n        return this;\n    };\n\n    /**\n     *\n     * @param {Observer} observer\n     * @return {boolean}\n     * @throws {TypeError} value is not an instance of Observer\n     */\n    contains(observer) {\n        validateInstance(observer, Observer)\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            if (this.observers[i] === observer) {\n                return true;\n            }\n        }\n        return false;\n    };\n\n    /**\n     *\n     * @param subject\n     * @return {Promise}\n     */\n    notify(subject) {\n\n        let pomises = []\n\n        var i = 0, l = this.observers.length;\n        for (; i < l; i++) {\n            pomises.push(this.observers[i].update(subject));\n        }\n\n        return Promise.all(pomises);\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', ObserverList);\nexport {Monster, ObserverList}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from  './base.js';\nimport {validateObject} from \"./validate.js\";\nimport {ObserverList} from \"./observerlist.js\";\nimport {Observer} from \"./observer.js\";\nimport {isObject, isArray, isPrimitive} from \"./is.js\";\n\n/**\n * An observer manages a callback function\n *\n * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new Monster.Types.ProxyObserver())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * console.log(new ProxyObserver())\n * </script>\n * ```\n *\n * with the ProxyObserver you can attach observer for observation. with each change at the object to be observed an update takes place.\n *\n * this also applies to nested objects.\n *\n * @example \n *\n * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';\n * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';\n * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';\n * \n * const o = new Observer(function () { \n *   if (isObject(this) && this instanceof ProxyObserver) {\n *       // do something (this ist ProxyObserver)\n *       const subject = this.getSubject();\n *       console.log(subject);\n *   }\n * });\n * \n * let realSubject = {\n *   a: {\n *       b: {\n *           c: true\n *       },\n *       d: 9\n *   }\n * }\n * \n * const p = new ProxyObserver(realSubject);\n * p.attachObserver(o);\n * const s = p.getSubject();\n * s.a.b.c = false;\n *\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass ProxyObserver extends Base {\n\n    /**\n     *\n     * @param {object} object\n     * @throws {TypeError} value is not a object\n     */\n    constructor(object) {\n        super();\n        validateObject(object);\n        this.realSubject = object\n        this.subject = new Proxy(object, getHandler.call(this));\n\n        this.objectMap = new WeakMap();\n        this.objectMap.set(this.realSubject, this.subject);\n\n        this.observers = new ObserverList;\n    }\n\n    /**\n     * get the real object\n     *\n     * changes to this object are not noticed by the observers, so you can make a large number of changes and inform the observers later.\n     *\n     * @returns {object}\n     */\n    getSubject() {\n        return this.subject\n    }\n\n    /**\n     * get the proxied object\n     *\n     * @returns {object}\n     */\n    getRealSubject() {\n        return this.realSubject\n    }\n\n    /**\n     * attach a new observer\n     *\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    attachObserver(observer) {\n        this.observers.attach(observer)\n        return this;\n    }\n\n    /**\n     * detach a observer\n     *\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    detachObserver(observer) {\n        this.observers.detach(observer)\n        return this;\n    }\n\n    /**\n     * notify all observer\n     *\n     * @returns {Promise}\n     */\n    notifyObservers() {\n        return this.observers.notify(this);\n    }\n\n    /**\n     * @param {Observer} observer\n     * @returns {ProxyObserver}\n     */\n    containsObserver(observer) {\n        return this.observers.contains(observer)\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', ProxyObserver);\nexport {Monster, ProxyObserver}\n\n/**\n *\n * @returns {{defineProperty: (function(*=, *=, *=): *), setPrototypeOf: (function(*, *=): boolean), set: (function(*, *, *, *): boolean), get: ((function(*=, *=, *=): (undefined))|*), deleteProperty: ((function(*, *): (boolean))|*)}}\n * @private\n * @see {@link https://gitlab.schukai.com/-/snippets/49}\n */\nfunction getHandler() {\n\n    const proxy = this;\n\n    // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots\n    const handler = {\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver\n        get: function (target, key, receiver) {\n\n            const value = Reflect.get(target, key, receiver);\n\n            if (typeof key === \"symbol\") {\n                return value;\n            }\n\n            if (isPrimitive(value)) {\n                return value;\n            }\n\n            // set value as proxy if object or array\n            if ((isArray(value) || isObject(value))) {\n                if (proxy.objectMap.has(value)) {\n                    return proxy.objectMap.get(value);\n                } else {\n                    let p = new Proxy(value, handler);\n                    proxy.objectMap.set(value, p);\n                    return p;\n                }\n\n            }\n\n            return value;\n\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-set-p-v-receiver \n        set: function (target, key, value, receiver) {\n            const result = Reflect.set(target, key, value, receiver);\n            if (typeof property !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n            return result;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-delete-p\n        deleteProperty: function (target, key) {\n            if (key in target) {\n                delete target[key];\n\n                if (typeof key !== \"symbol\") {\n                    proxy.observers.notify(proxy);\n                }\n\n\n                return true;\n            }\n            return false;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc\n        defineProperty: function (target, key, descriptor) {\n            let result = Reflect.defineProperty(target, key, descriptor);\n\n            if (typeof key !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n\n            return result;\n        },\n\n        // https://262.ecma-international.org/9.0/#sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v\n        setPrototypeOf: function (target, key) {\n            let result = Reflect.setPrototypeOf(object1, key);\n\n            if (typeof key !== \"symbol\") {\n                proxy.observers.notify(proxy);\n            }\n\n            return result;\n        }\n\n    };\n\n\n    return handler;\n}\n",
+    "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Monster.Types.Queue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n * console.log(new Queue())\n * </script>\n * ```\n * \n * @example\n *\n * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';\n *\n * const queue = new Queue;\n *\n * queue.add(2);\n * queue.add(true);\n * queue.add(\"Hello\");\n * queue.add(4.5);\n *\n * console.log(queue.poll());\n * // ↦ 2\n * console.log(queue.poll());\n * // ↦ true\n * console.log(queue.poll());\n * // ↦ \"Hello\"\n * console.log(queue.poll());\n * // ↦ 4.5\n * console.log(queue.poll());\n * // ↦ undefined\n *\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Queue extends Base { \n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.data = [];\n    }\n\n\n    /**\n     * @return {boolean}\n     */\n    isEmpty() {\n        return this.data.length === 0;\n    }\n\n    /**\n     * Read the element at the front of the queue without removing it.\n     *\n     * @return {*}\n     */\n    peek() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n\n        return this.data[0];\n    }\n\n    /**\n     * Add a new element to the end of the queue.\n     *\n     * @param {*} value\n     * @returns {Queue}\n     */\n    add(value) {\n        this.data.push(value)\n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        this.data = [];\n        return this;\n    }\n\n    /**\n     * Remove the element at the front of the queue\n     * If the queue is empty, return undefined.\n     *\n     * @return {*}\n     */\n    poll() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        return this.data.shift();\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Queue);\nexport {Monster, Queue}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, ID} from \"./id.js\";\nimport {getGlobal} from \"./global.js\";\nimport {random} from \"../math/random.js\";\n\n/**\n * @private\n * @type {number}\n */\nlet internalCounter = 0;\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.RandomID()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new Monster.Types.RandomID())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';\n * console.log(new RandomID())\n * </script>\n * ```\n *\n * @since 1.6.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass RandomID extends ID {\n\n    /**\n     * create new object\n     */\n    constructor() {\n        super();\n\n        internalCounter += 1;\n\n        this.id = getGlobal().btoa(random(1, 10000))\n            .replace(/=/g, '')\n            /** No numbers at the beginning of the ID, because of possible problems with DOM */\n            .replace(/^[0-9]+/, 'X') + internalCounter;\n    }\n\n}\n\nMonster.assignToNamespace('Monster.Types', RandomID);\nexport {Monster, RandomID}\n",
+    "import {Monster, Base} from './base.js';\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Monster.Types.Stack())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';\n * console.log(new Stack())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Stack extends Base {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.data = [];\n    }\n\n\n    /**\n     * @return {boolean}\n     */\n    isEmpty() {\n        return this.data.length === 0;\n    }\n\n    /**\n     * looks at the object at the top of this stack without removing it from the stack.\n     *\n     * @return {*}\n     */\n    peek() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n\n        return this.data?.[this.data.length - 1];\n    }\n\n    /**\n     * pushes an item onto the top of this stack.\n     *\n     * @param {*} value\n     * @returns {Queue}\n     */\n    push(value) {\n        this.data.push(value)\n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        this.data = [];\n        return this;\n    }\n\n    /**\n     * removes the object at the top of this stack and returns\n     * that object as the value of this function. is the stack empty\n     * the return value is undefined.\n     *\n     * @return {*}\n     */\n    pop() {\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        return this.data.pop();\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', Stack);\nexport {Monster, Stack}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {Base} from  './base.js';\nimport {isString, isIterable} from '../types/is.js';\nimport {validateString, validateFunction} from '../types/validate.js';\n\n/**\n * A tokenlist allows you to manage tokens (individual character strings such as css classes in an attribute string).\n *\n * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.\n *\n * You can call the method via the monster namespace `new Monster.Types.TokenList()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * console.log(new Monster.Types.TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';\n * console.log(new TokenList(\"myclass row\"))\n * console.log(new TokenList(\"myclass row\"))\n * </script>\n * ```\n *\n * This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).\n *\n * ```\n * console.log(typeof new TokenList(\"myclass row\")[Symbol.iterator]); // \"function\"\n * ```\n *\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass TokenList extends Base {\n\n    /**\n     *\n     * @param {array|string|iteratable} init\n     */\n    constructor(init) {\n        super();\n        this.tokens = new Set();\n\n        if (typeof init !== \"undefined\") {\n            this.add(init);\n        }\n\n    }\n\n    /**\n     * Iterator protocol\n     *\n     * @returns {Symbol.iterator}\n     */\n    getIterator() {\n        return this[Symbol.iterator]();\n    }\n\n    /**\n     * Iterator\n     *\n     * @returns {{next: ((function(): ({value: *, done: boolean}))|*)}}\n     */\n    [Symbol.iterator]() {\n        // Use a new index for each iterator. This makes multiple\n        // iterations over the iterable safe for non-trivial cases,\n        // such as use of break or nested looping over the same iterable.\n        let index = 0;\n        let entries = this.entries()\n\n        return {\n            next: () => {\n                if (index < entries.length) {\n                    return {value: entries?.[index++], done: false}\n                } else {\n                    return {done: true}\n                }\n            }\n        }\n    }\n\n    /**\n     * Returns true if it contains token, otherwise false\n     *\n     * ```\n     * new TokenList(\"start middle end\").contains('start')); // ↦ true\n     * new TokenList(\"start middle end\").contains('end')); // ↦ true\n     * new TokenList(\"start middle end\").contains('xyz')); // ↦ false\n     * new TokenList(\"start middle end\").contains(['end','start','middle'])); // ↦ true\n     * new TokenList(\"start middle end\").contains(['end','start','xyz'])); // ↦ false\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {boolean}\n     */\n    contains(value) {\n        if (isString(value)) {\n            value = value.trim()\n            let counter = 0;\n            value.split(\" \").forEach(token => {\n                if (this.tokens.has(token.trim()) === false) return false;\n                counter++\n            })\n            return counter > 0 ? true : false;\n        }\n\n        if (isIterable(value)) {\n            let counter = 0;\n            for (let token of value) {\n                validateString(token);\n                if (this.tokens.has(token.trim()) === false) return false;\n                counter++\n            }\n            return counter > 0 ? true : false;\n        }\n\n        return false;\n    }\n\n    /**\n     * add tokens\n     *\n     * ```\n     * new TokenList().add(\"abc xyz\").toString(); // ↦ \"abc xyz\"\n     * new TokenList().add([\"abc\",\"xyz\"]).toString(); // ↦ \"abc xyz\"\n     * new TokenList().add(undefined); // ↦ add nothing\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {TokenList}\n     * @throws {TypeError} unsupported value\n     */\n    add(value) {\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                this.tokens.add(token.trim());\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                validateString(token);\n                this.tokens.add(token.trim());\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n    }\n\n    /**\n     * remove all tokens\n     *\n     * @returns {TokenList}\n     */\n    clear() {\n        this.tokens.clear();\n        return this;\n    }\n\n    /**\n     * Removes token\n     *\n     * ```\n     * new TokenList(\"abc xyz\").remove(\"xyz\").toString(); // ↦ \"abc\"\n     * new TokenList(\"abc xyz\").remove([\"xyz\"]).toString(); // ↦ \"abc\"\n     * new TokenList(\"abc xyz\").remove(undefined); // ↦ remove nothing\n     * ```\n     *\n     * @param {array|string|iteratable} value\n     * @returns {TokenList}\n     * @throws {TypeError} unsupported value\n     */\n    remove(value) {\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                this.tokens.delete(token.trim());\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                validateString(token);\n                this.tokens.delete(token.trim());\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n    }\n\n    /**\n     * this method replaces a token with a new token.\n     *\n     * if the passed token exists, it is replaced with newToken and TokenList is returned.\n     * if the token does not exist, newToken is not set and TokenList is returned.\n     *\n     * @param {string} token\n     * @param {string} newToken\n     * @returns {TokenList}\n     */\n    replace(token, newToken) {\n        validateString(token);\n        validateString(newToken);\n        if (!this.contains(token)) {\n            return this;\n        }\n\n        let a = Array.from(this.tokens)\n        let i = a.indexOf(token);\n        if (i === -1) return this;\n\n        a.splice(i, 1, newToken);\n        this.tokens = new Set();\n        this.add(a);\n\n        return this;\n\n\n    }\n\n    /**\n     * Removes token from string. If token doesn't exist it's added.\n     * \n     * ```\n     * new TokenList(\"abc def ghi\").toggle(\"def xyz\").toString(); // ↦ \"abc ghi xyz\"\n     * new TokenList(\"abc def ghi\").toggle([\"abc\",\"xyz\"]).toString(); // ↦ \"def ghi xyz\"\n     * new TokenList().toggle(undefined); // ↦ nothing\n     * ```\n     * \n     * @param {array|string|iteratable} value\n     * @returns {boolean}\n     * @throws {TypeError} unsupported value\n     */\n    toggle(value) {\n\n        if (isString(value)) {\n            value.split(\" \").forEach(token => {\n                toggleValue.call(this, token);\n            })\n        } else if (isIterable(value)) {\n            for (let token of value) {\n                toggleValue.call(this, token);\n            }\n        } else if (typeof value !== \"undefined\") {\n            throw new TypeError(\"unsupported value\");\n        }\n\n        return this;\n\n    }\n\n    /**\n     * returns an array with all tokens\n     *\n     * @returns {array}\n     */\n    entries() {\n        return Array.from(this.tokens)\n    }\n\n    /**\n     * executes the provided function with each value of the set\n     *\n     * @param {function} callback\n     * @returns {TokenList}\n     */\n    forEach(callback) {\n        validateFunction(callback);\n        this.tokens.forEach(callback);\n        return this;\n    }\n\n    /**\n     * returns the individual tokens separated by a blank character\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.entries().join(' ');\n    }\n\n}\n\n/**\n * @private\n * @param token\n * @returns {toggleValue}\n * @throws {Error} must be called with TokenList.call\n */\nfunction toggleValue(token) {\n    if (!(this instanceof TokenList)) throw Error(\"must be called with TokenList.call\")\n    validateString(token);\n    token = token.trim();\n    if (this.contains(token)) {\n        this.remove(token);\n        return this;\n    }\n    this.add(token);\n    return this;\n}\n\nMonster.assignToNamespace('Monster.Types', TokenList);\nexport {Monster, TokenList}\n",
+    "import {Monster, Queue} from \"./queue.js\";\nimport {validateObject} from \"./validate.js\";\n\n/**\n * You can call the method via the monster namespace `new Monster.Types.Queue()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new Monster.Types.UniqueQueue())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';\n * console.log(new UniqueQueue())\n * </script>\n * ```\n *\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass UniqueQueue extends Queue {\n\n    /**\n     *\n     */\n    constructor() {\n        super();\n        this.unique = new WeakSet();\n    }\n\n    /**\n     * Add a new element to the end of the queue.\n     *\n     * @param {object} value\n     * @returns {Queue}\n     * @throws {TypeError} value is not a object\n     */\n    add(value) {\n        \n        validateObject(value);\n        \n        if (!this.unique.has(value)) {\n            this.unique.add(value);\n            super.add(value);\n        }\n        \n        return this;\n    }\n\n    /**\n     * remove all entries\n     *\n     * @returns {Queue}\n     */\n    clear() {\n        super.clear();\n        this.unique = new WeakSet;\n        return this;\n    }\n\n    /**\n     * Remove the element at the front of the queue\n     * If the queue is empty, return undefined.\n     *\n     * @return {object}\n     */\n    poll() {\n\n        if (this.isEmpty()) {\n            return undefined;\n        }\n        let value = this.data.shift();\n        this.unique.delete(value);\n        return value;\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Types', UniqueQueue);\nexport {Monster, UniqueQueue}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {\n    isPrimitive,\n    isBoolean,\n    isString,\n    isObject,\n    isArray,\n    isFunction,\n    isIterable,\n    isInstance,\n    isInteger\n} from './is.js';\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError\n * console.log(Monster.Types.validateIterable([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateIterable('2'))  // ↦ TypeError\n * console.log(validateIterable([]))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.2.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validateIterable(value) {\n    if (!isIterable(value)) {\n        throw new TypeError('value is not iterable')\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined\n * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validatePrimitive('2'))  // ↦ undefined\n * console.log(validatePrimitive([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a primitive\n * @see {@link isPrimitive}\n * @see {@link Monster/Types/isPrimitive}\n * @see {@link Monster/Types#isPrimitive}\n */\nfunction validatePrimitive(value) {\n    if (!isPrimitive(value)) {\n        throw new TypeError('value is not a primitive')\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined\n * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError\n * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateBoolean(false))  // ↦ undefined\n * console.log(validateBoolean('2'))  // ↦ TypeError\n * console.log(validateBoolean([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n\n * @throws {TypeError}  value is not primitive\n */\nfunction validateBoolean(value) {\n    if (!isBoolean(value)) {\n        throw new TypeError('value is not a boolean')\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateString()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateString('2')) // ↦ undefined\n * console.log(Monster.Types.validateString([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateString('2'))  // ↦ undefined\n * console.log(validateString([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a string\n */\nfunction validateString(value) {\n    if (!isString(value)) {\n        throw new TypeError('value is not a string')\n    }\n    return value\n}\n\n\n/**\n * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateObject()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateObject({})) // ↦ undefined\n * console.log(Monster.Types.validateObject('2')) // ↦ TypeError\n * console.log(Monster.Types.validateObject([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateObject({}))  // ↦ undefined\n * console.log(validateObject('2'))  // ↦ TypeError\n * console.log(validateObject([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a object\n */\nfunction validateObject(value) {\n    if (!isObject(value)) {\n        throw new TypeError('value is not a object')\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the object instance.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInstance()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined\n * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError\n * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInstance({}, Object)) // ↦ undefined\n * console.log(validateInstance('2', Object)) // ↦ TypeError\n * console.log(validateInstance([], Object)) // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.5.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an instance of\n */\nfunction validateInstance(value, instance) {\n    if (!isInstance(value, instance)) {\n        let n = \"\";\n        if (isObject(instance) || isFunction(instance)) {\n            n = instance?.['name']\n        }\n\n        if (n) {\n            n = \" \" + n;\n        }\n\n        throw new TypeError('value is not an instance of' + n)\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateArray()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateArray('2')) // ↦ TypeError\n * console.log(Monster.Types.validateArray([])) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateArray('2'))  // ↦ TypeError\n * console.log(validateArray([]))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an array\n */\nfunction validateArray(value) {\n    if (!isArray(value)) {\n        throw new TypeError('value is not an array')\n    }\n    return value\n}\n\n/**\n * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateFunction()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined\n * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError\n * console.log(Monster.Types.validateFunction([])) // ↦ TypeError\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateFunction(()=>{})) // ↦ undefined\n * console.log(validateFunction('2'))  // ↦ TypeError\n * console.log(validateFunction([]))  // ↦ TypeError\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not a function\n */\nfunction validateFunction(value) {\n    if (!isFunction(value)) {\n        throw new TypeError('value is not a function')\n    }\n    return value\n}\n\n/**\n * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.\n *\n * You can call the method via the monster namespace `Monster.Types.validateInteger()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError\n * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError\n * console.log(Monster.Types.validateInteger(2)) // ↦ undefined\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';\n * console.log(validateInteger(true)) // ↦ TypeError\n * console.log(validateInteger('2'))  // ↦ TypeError\n * console.log(validateInteger(2))  // ↦ undefined\n * </script>\n * ```\n *\n * @param {*} value\n * @return {*}\n * @since 1.4.0\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n * @throws {TypeError} value is not an integer\n */\nfunction validateInteger(value) {\n    if (!isInteger(value)) {\n        throw new TypeError('value is not an integer')\n    }\n    return value\n}\n\nMonster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);\nexport {\n    Monster,\n    validatePrimitive,\n    validateBoolean,\n    validateString,\n    validateObject,\n    validateInstance,\n    validateArray,\n    validateFunction,\n    validateIterable,\n    validateInteger\n}\n",
+    "'use strict';\n\nimport {Monster} from '../namespace.js';\nimport {Base} from './base.js';\n\n/**\n * The version object contains a sematic version number\n *\n * You can create the object via the monster namespace `new Monster.Types.Version()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this class individually.\n *\n * ```\n * <script type=\"module\">\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(new Version('1.2.3')) // ↦ 1.2.3\n * console.log(new Version('1')) // ↦ 1.0.0\n * </script>\n * ```\n *\n * @example\n *\n * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n *\n * new Version('1.0.0') // ↦ 1.0.0\n * new Version(1)  // ↦ 1.0.0\n * new Version(1, 0, 0) // ↦ 1.0.0\n * new Version('1.2.3', 4, 5) // ↦ 1.4.5\n *\n * @since 1.0.0\n * @author schukai GmbH\n * @copyright schukai GmbH\n * @memberOf Monster/Types\n */\nclass Version extends Base {\n\n    /**\n     *\n     * @param major\n     * @param minor\n     * @param patch\n     * @throws {Error} major is not a number\n     * @throws {Error} minor is not a number\n     * @throws {Error} patch is not a number\n     */\n    constructor(major, minor, patch) {\n        super();\n\n        if (typeof major === 'string' && minor === undefined && patch === undefined) {\n\n            let parts = major.toString().split('.');\n            major = parseInt(parts[0] || 0);\n            minor = parseInt(parts[1] || 0);\n            patch = parseInt(parts[2] || 0);\n        }\n\n        if (major === undefined) {\n            throw  new Error(\"major version is undefined\");\n        }\n\n        if (minor === undefined) {\n            minor = 0;\n        }\n\n        if (patch === undefined) {\n            patch = 0;\n        }\n\n        this.major = parseInt(major);\n        this.minor = parseInt(minor);\n        this.patch = parseInt(patch);\n\n        if (isNaN(this.major)) {\n            throw  new Error(\"major is not a number\");\n        }\n\n        if (isNaN(this.minor)) {\n            throw  new Error(\"minor is not a number\");\n        }\n\n        if (isNaN(this.patch)) {\n            throw  new Error(\"patch is not a number\");\n        }\n\n    }\n\n    /**\n     *\n     * @returns {string}\n     */\n    toString() {\n        return this.major + '.' + this.minor + '.' + this.patch;\n    }\n\n    /**\n     * returns 0 if equal, -1 if the object version is less and 1 if greater\n     * then the compared version\n     *\n     * @param {string|Version} version Version to compare\n     * @returns {number}\n     */\n    compareTo(version) {\n\n        if (version instanceof Version) {\n            version = version.toString();\n        }\n\n        if (typeof version !== 'string') {\n            throw  new Error(\"type exception\");\n        }\n\n        if (version === this.toString()) {\n            return 0;\n        }\n\n        let a = [this.major, this.minor, this.patch];\n        let b = version.split('.');\n        let len = Math.max(a.length, b.length);\n\n        for (let i = 0; i < len; i += 1) {\n            if ((a[i] && !b[i] && parseInt(a[i]) > 0) || (parseInt(a[i]) > parseInt(b[i]))) {\n                return 1;\n            } else if ((b[i] && !a[i] && parseInt(b[i]) > 0) || (parseInt(a[i]) < parseInt(b[i]))) {\n                return -1;\n            }\n        }\n\n        return 0;\n    };\n\n}\n\nMonster.assignToNamespace('Monster.Types', Version);\n\n\nlet monsterVersion;\n\n/**\n * Version of monster\n *\n * you can call the method via the monster namespace `Monster.getVersion()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(Monster.getVersion())\n * console.log(Monster.getVersion())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';\n * console.log(getVersion())\n * console.log(getVersion())\n * </script>\n * ```\n *\n * @returns {Monster.Types.Version}\n * @since 1.0.0\n * @copyright schukai GmbH\n * @author schukai GmbH\n * @memberOf Monster\n */\nfunction getVersion() {\n    if (monsterVersion instanceof Version) {\n        return monsterVersion;\n    }\n    /**#@+ dont touch, replaced by make with package.json version */\n    monsterVersion = new Version('1.8.0')\n    /**#@-*/\n    return monsterVersion;\n\n}\n\nMonster.assignToNamespace('Monster', getVersion);\nexport {Monster, Version, getVersion}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {isObject, isFunction, isPrimitive, isArray} from '../types/is.js';\nimport {getGlobal} from '../types/global.js';\n\n\n/**\n * With this function, objects can be cloned.\n * The entire object tree is run through.\n *\n * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.\n * Global objects such as windows are also not cloned,\n *\n * If an object has a method `getClone()`, this method is used to create the clone.\n *\n * You can call the method via the monster namespace `Monster.Util.clone()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(Monster.Util.clone({}))\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';\n * console.log(clone({}))\n * </script>\n * ```\n *\n * @param {*} obj object to be cloned\n * @returns {*}\n *\n * @since 1.0.0\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {Error} unable to clone obj! its type isn't supported.\n */\nfunction clone(obj) {\n\n    // typeof null results in 'object'.  https://2ality.com/2013/10/typeof-null.html\n    if (null === obj) {\n        return obj;\n    }\n\n    // Handle the two simple types, null and undefined\n    if (isPrimitive(obj)) {\n        return obj;\n    }\n    \n    // Handle the two simple types, null and undefined\n    if (isFunction(obj)) {\n        return obj;\n    }\n\n    // Handle Array\n    if (isArray(obj)) {\n        let copy = [];\n        for (var i = 0, len = obj.length; i < len; i++) {\n            copy[i] = clone(obj[i]);\n        }\n\n        return copy;\n    }\n\n    if (isObject(obj)) {\n\n\n        // Handle Date\n        if (obj instanceof Date) {\n            let copy = new Date();\n            copy.setTime(obj.getTime());\n            return copy;\n        }\n\n        /** Do not clone DOM nodes */\n        if (typeof Element !== 'undefined' && obj instanceof Element) return obj;\n        if (typeof HTMLDocument !== 'undefined' && obj instanceof HTMLDocument) return obj;\n        if (typeof DocumentFragment !== 'undefined' && obj instanceof DocumentFragment) return obj;\n\n        /** Do not clone global objects */\n        if (obj === getGlobal()) return obj;\n        if (typeof globalContext !== 'undefined' && obj === globalContext) return obj;\n        if (typeof window !== 'undefined' && obj === window) return obj;\n        if (typeof document !== 'undefined' && obj === document) return obj;\n        if (typeof navigator !== 'undefined' && obj === navigator) return obj;\n        if (typeof JSON !== 'undefined' && obj === JSON) return obj;\n\n        // Handle Proxy-Object\n        try {\n            // try/catch because possible: TypeError: Function has non-object prototype 'undefined' in instanceof check\n            if (obj instanceof Proxy) {\n                return obj;\n            }\n        } catch (e) {\n        }\n\n        return cloneObject(obj)\n\n    }\n\n    throw new Error(\"unable to clone obj! its type isn't supported.\");\n}\n\n/**\n *\n * @param {object} obj\n * @returns {object}\n * @private\n */\nfunction cloneObject(obj) {\n    var copy;\n\n    /** Object has clone method */\n    if (typeof obj.hasOwnProperty('getClone') && obj.getClone === 'function') {\n        return obj.getClone();\n    }\n\n    copy = {};\n    if (typeof obj.constructor === 'function' &&\n        typeof obj.constructor.call === 'function') {\n        copy = new obj.constructor();\n    }\n\n    for (let key in obj) {\n\n        if (!obj.hasOwnProperty(key)) {\n            continue;\n        }\n\n        if (Monster.Types.isPrimitive(obj[key])) {\n            copy[key] = obj[key];\n            continue;\n        }\n\n        copy[key] = clone(obj[key]);\n    }\n\n    return copy;\n}\n\nMonster.assignToNamespace('Monster.Util', clone);\nexport {Monster, clone}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster, Base} from '../types/base.js';\nimport {isFunction} from '../types/is.js';\n\n/**\n * The comparator allows a comparison function to be abstracted.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Monster.Util.Comparator())\n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n * console.log(new Comparator())\n * </script>\n * ```\n *\n * The following are some examples of the application of the class.\n *\n * ```\n * new Comparator().lessThanOrEqual(2, 5) // ↦ true\n * new Comparator().greaterThan(4, 2) // ↦ true\n * new Comparator().equal(4, 4) // ↦ true\n * new Comparator().equal(4, 5) // ↦ false\n * ```\n *\n * You can also pass your own comparison function, and thus define the comparison function.\n *\n * ```\n * new Comparator(function (a, b) {\n *      if (a.v === b.v) return 0;\n *         return a.v < b.v ? -1 : 1;\n *      }).equal({v: 2}, {v: 2});  // ↦ true\n * ```\n * \n * @example\n *\n * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';\n *\n * console.log(new Comparator().lessThanOrEqual(2, 5))\n * // ↦ true\n * console.log(new Comparator().greaterThan(4, 2))\n * // ↦ true\n * console.log(new Comparator().equal(4, 4))\n * // ↦ true\n * console.log(new Comparator().equal(4, 5))\n * // ↦ false\n *\n * @since 1.3.0\n * @memberOf Monster/Util\n */\nclass Comparator extends Base {\n\n    /**\n     * create new comparator\n     *\n     * @param {function} callback\n     * @throw {TypeError} \"unsupported type\"\n     * @throw {TypeError} \"impractical comparison\"\n     */\n    constructor(callback) {\n        super();\n\n        if (isFunction(callback)) {\n            this.compare = callback\n        } else if (callback !== undefined) {\n            throw new TypeError(\"unsupported type\")\n        } else {\n            // default compare function\n            this.compare = function (a, b) {\n\n                if (typeof a !== typeof b) {\n                    throw new TypeError(\"impractical comparison\")\n                }\n\n                if (a === b) {\n                    return 0;\n                }\n                return a < b ? -1 : 1;\n            };\n        }\n\n    }\n\n    /**\n     * changes the order of the operators\n     *\n     * @return {Comparator}\n     */\n    reverse() {\n        const original = this.compare;\n        this.compare = (a, b) => original(b, a);\n        return this;\n    }\n\n    /**\n     * Checks if two variables are equal.\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    equal(a, b) {\n        return this.compare(a, b) === 0;\n    }\n\n\n    /**\n     * Checks if variable `a` is greater than `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    greaterThan(a, b) {\n        return this.compare(a, b) > 0;\n    }\n\n    /**\n     * Checks if variable `a` is greater than or equal to `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    greaterThanOrEqual(a, b) {\n        return this.greaterThan(a, b) || this.equal(a, b);\n    }\n\n    /**\n     * Checks if variable `a` is less than or equal to `b`\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    lessThanOrEqual(a, b) {\n        return this.lessThan(a, b) || this.equal(a, b);\n    }\n\n    /**\n     * Checks if variable a is less than b\n     *\n     * @param {*} a\n     * @param {*} b\n     *\n     * @return {boolean}\n     */\n    lessThan(a, b) {\n        return this.compare(a, b) < 0;\n    }\n\n\n}\n\nMonster.assignToNamespace('Monster.Util', Comparator);\nexport {Monster, Comparator}\n",
+    "'use strict';\n\n/**\n * @author schukai GmbH\n */\n\nimport {Monster} from '../namespace.js';\nimport {validateObject} from '../types/validate.js';\n\n/**\n * Deep freeze a object\n *\n * You can call the method via the monster namespace `Monster.Util.deepFreeze()`.\n *\n * ```\n * <script type=\"module\">\n * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(Monster.Util.deepFreeze({})) \n * </script>\n * ```\n *\n * Alternatively, you can also integrate this function individually.\n *\n * ```\n * <script type=\"module\">\n * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';\n * console.log(deepFreeze({}))  \n * </script>\n * ```\n *\n * @param {object} obj object to be freeze\n * @since 1.0.0\n * @returns {object}\n * @memberOf Monster/Util\n * @copyright schukai GmbH\n * @throws {TypeError} value is not a object\n */\nfunction deepFreeze(object) {\n    \n    validateObject(object)\n\n    // Retrieve the defined property names of the object\n    var propNames = Object.getOwnPropertyNames(object);\n\n    // Freeze properties before freezing yourself\n    for (let name of propNames) {\n        let value = object[name];\n\n        object[name] = value && typeof value === \"object\" ?\n            deepFreeze(value) : value;\n    }\n\n    return Object.freeze(object);\n}\n\nMonster.assignToNamespace('Monster.Util', deepFreeze);\nexport {Monster, deepFreeze}\n"
   ]
 }
\ No newline at end of file
diff --git a/packages/monster/dist/monster.js b/packages/monster/dist/monster.js
index 84e3bcafe..bed17bce3 100644
--- a/packages/monster/dist/monster.js
+++ b/packages/monster/dist/monster.js
@@ -1,2 +1,2 @@
-/** Monster 1.7.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
-(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":25,"../types/base.js":26}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":29,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":29,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":29}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":25,"../types/base.js":26,"../types/is.js":29,"../types/stack.js":35,"../types/validate.js":38}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,currentValue,currentIndex,array){return currentValue.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&calue.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":25,"../types/base.js":26,"../types/id.js":28,"../types/is.js":29,"../types/validate.js":38,"../util/clone.js":40,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":26,"../types/global.js":27,"../types/proxyobserver.js":32,"../types/validate.js":38}],14:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){_classCallCheck(this,CustomElement);return _super.call(this)}_createClass(CustomElement,[{key:"connectedCallback",value:function connectedCallback(){}},{key:"disconnectedCallback",value:function disconnectedCallback(){}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){}}],[{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":27,"../types/validate.js":38}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":26,"../types/global.js":27,"../types/id.js":28,"../types/is.js":29,"../types/observer.js":30,"../types/proxyobserver.js":32,"../types/stack.js":35,"../types/validate.js":38,"./assembler.js":13}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38,"./theme.js":17}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DEFAULT_THEME="monster";var THEME_ATTRIBUTE_NAME="data-monster-theme-name";var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(THEME_ATTRIBUTE_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":26,"../types/global.js":27,"../types/validate.js":38}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":27,"../types/validate.js":38}],19:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38,"./logentry.js":21,"./logger.js":22}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":19,"../../namespace.js":25,"../../types/base.js":26}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":19,"../logging/logentry.js":21,"../namespace.js":25,"../types/base.js":26,"../types/validate.js":38}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":27}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":14,"./dom/handle.js":15,"./dom/template.js":16,"./dom/util.js":18,"./logging/handler.js":19,"./logging/handler/console.js":20,"./logging/logentry.js":21,"./logging/logger.js":22,"./math/random.js":23,"./namespace.js":25,"./types/base.js":26,"./types/global.js":27,"./types/id.js":28,"./types/is.js":29,"./types/observer.js":30,"./types/observerlist.js":31,"./types/proxyobserver.js":32,"./types/queue.js":33,"./types/randomid.js":34,"./types/stack.js":35,"./types/tokenlist.js":36,"./types/uniquequeue.js":37,"./types/validate.js":38,"./types/version.js":39,"./util/clone.js":40,"./util/comparator.js":41,"./util/freeze.js":42}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],26:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":25}],27:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":25,"./validate.js":38}],28:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":26,"./validate.js":38}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":25}],30:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./tokenlist.js":36,"./uniquequeue.js":37}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":25,"./base.js":26,"./observer.js":30,"./validate.js":38}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){this.observers.notify(this);return this}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":25,"./base.js":26,"./is.js":29,"./observer.js":30,"./observerlist.js":31,"./validate.js":38}],33:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":26}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":23,"./global.js":27,"./id.js":28}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":26}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":25,"../types/is.js":29,"../types/validate.js":38,"./base.js":26}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":33,"./validate.js":38}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":25,"./is.js":29}],39:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.7.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":25,"./base.js":26}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":25,"../types/global.js":27,"../types/is.js":29}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":26,"../types/is.js":29}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":25,"../types/validate.js":38}]},{},[24]);
+/** Monster 1.8.0, © 2021 schukai GmbH, Released under the AGPL 3.0 License. */
+(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.AbstractConstraint=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractConstraint=function(_Base){_inherits(AbstractConstraint,_Base);var _super=_createSuper(AbstractConstraint);function AbstractConstraint(){_classCallCheck(this,AbstractConstraint);return _super.call(this)}_createClass(AbstractConstraint,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return AbstractConstraint}(_base.Base);exports.AbstractConstraint=AbstractConstraint;_namespace.Monster.assignToNamespace("Monster.Constraints",AbstractConstraint)},{"../namespace.js":26,"../types/base.js":27}],2:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AbstractOperator=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AbstractOperator=function(_AbstractConstraint){_inherits(AbstractOperator,_AbstractConstraint);var _super=_createSuper(AbstractOperator);function AbstractOperator(operantA,operantB){var _this;_classCallCheck(this,AbstractOperator);_this=_super.call(this);if(!(operantA instanceof _abstract.AbstractConstraint)||!(operantB instanceof _abstract.AbstractConstraint)){throw new TypeError("parameters must be from type AbstractConstraint")}_this.operantA=operantA;_this.operantB=operantB;return _this}return AbstractOperator}(_abstract.AbstractConstraint);exports.AbstractOperator=AbstractOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AbstractOperator)},{"./abstract.js":1}],3:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.AndOperator=void 0;var _abstract=require("./abstract.js");var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var AndOperator=function(_AbstractOperator){_inherits(AndOperator,_AbstractOperator);var _super=_createSuper(AndOperator);function AndOperator(){_classCallCheck(this,AndOperator);return _super.apply(this,arguments)}_createClass(AndOperator,[{key:"isValid",value:function isValid(value){return Promise.all([this.operantA.isValid(value),this.operantB.isValid(value)])}}]);return AndOperator}(_abstractoperator.AbstractOperator);exports.AndOperator=AndOperator;_abstract.Monster.assignToNamespace("Monster.Constraints",AndOperator)},{"./abstract.js":1,"./abstractoperator.js":2}],4:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Invalid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Invalid=function(_AbstractConstraint){_inherits(Invalid,_AbstractConstraint);var _super=_createSuper(Invalid);function Invalid(){_classCallCheck(this,Invalid);return _super.apply(this,arguments)}_createClass(Invalid,[{key:"isValid",value:function isValid(value){return Promise.reject(value)}}]);return Invalid}(_abstract.AbstractConstraint);exports.Invalid=Invalid;_abstract.Monster.assignToNamespace("Monster.Constraints",Invalid)},{"./abstract.js":1}],5:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsArray=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsArray=function(_AbstractConstraint){_inherits(IsArray,_AbstractConstraint);var _super=_createSuper(IsArray);function IsArray(){_classCallCheck(this,IsArray);return _super.apply(this,arguments)}_createClass(IsArray,[{key:"isValid",value:function isValid(value){if((0,_is.isArray)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsArray}(_abstract.AbstractConstraint);exports.IsArray=IsArray;_abstract.Monster.assignToNamespace("Monster.Constraints",IsArray)},{"../types/is.js":30,"./abstract.js":1}],6:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.IsObject=void 0;var _abstract=require("./abstract.js");var _is=require("../types/is.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var IsObject=function(_AbstractConstraint){_inherits(IsObject,_AbstractConstraint);var _super=_createSuper(IsObject);function IsObject(){_classCallCheck(this,IsObject);return _super.apply(this,arguments)}_createClass(IsObject,[{key:"isValid",value:function isValid(value){if((0,_is.isObject)(value)){return Promise.resolve(value)}return Promise.reject(value)}}]);return IsObject}(_abstract.AbstractConstraint);exports.IsObject=IsObject;_abstract.Monster.assignToNamespace("Monster.Constraints",IsObject)},{"../types/is.js":30,"./abstract.js":1}],7:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstractoperator.Monster}});exports.OrOperator=void 0;var _abstractoperator=require("./abstractoperator.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var OrOperator=function(_AbstractOperator){_inherits(OrOperator,_AbstractOperator);var _super=_createSuper(OrOperator);function OrOperator(){_classCallCheck(this,OrOperator);return _super.apply(this,arguments)}_createClass(OrOperator,[{key:"isValid",value:function isValid(value){var self=this;return new Promise(function(resolve,reject){var a,b;self.operantA.isValid(value).then(function(){resolve()})["catch"](function(){a=false;if(b===false){reject()}});self.operantB.isValid(value).then(function(){resolve()})["catch"](function(){b=false;if(a===false){reject()}})})}}]);return OrOperator}(_abstractoperator.AbstractOperator);exports.OrOperator=OrOperator;_abstractoperator.Monster.assignToNamespace("Monster.Constraints",OrOperator)},{"./abstractoperator.js":2}],8:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _abstract.Monster}});exports.Valid=void 0;var _abstract=require("./abstract.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Valid=function(_AbstractConstraint){_inherits(Valid,_AbstractConstraint);var _super=_createSuper(Valid);function Valid(){_classCallCheck(this,Valid);return _super.apply(this,arguments)}_createClass(Valid,[{key:"isValid",value:function isValid(value){return Promise.resolve(value)}}]);return Valid}(_abstract.AbstractConstraint);exports.Valid=Valid;_abstract.Monster.assignToNamespace("Monster.Constraints",Valid)},{"./abstract.js":1}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Diff=Diff;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _is.Monster}});var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function Diff(first,second){return doDiff(first,second)}function getKeys(a,b,type){if((0,_is.isArray)(type)){var keys=a.length>b.length?new Array(a.length):new Array(b.length);keys.fill(0);return new Set(keys.map(function(_,i){return i}))}return new Set(Object.keys(a).concat(Object.keys(b)))}function doDiff(a,b,path,diff){var typeA=_typeof(a);var typeB=_typeof(b);var currPath=path||[];var currDiff=diff||[];if(typeA===typeB&&typeA==="object"){getKeys(a,b,typeA).forEach(function(v){if(!Object.prototype.hasOwnProperty.call(a,v)){currDiff.push(buildResult(a[v],b[v],"add",currPath.concat(v)))}else if(!Object.prototype.hasOwnProperty.call(b,v)){currDiff.push(buildResult(a[v],b[v],"delete",currPath.concat(v)))}else{doDiff(a[v],b[v],currPath.concat(v),currDiff)}})}else{var o=getOperator(a,b,typeA,typeB);if(o!==undefined){currDiff.push(buildResult(a,b,o,path))}}return currDiff}function buildResult(a,b,operator,path){var result={operator:operator,path:path};if(operator!=="add"){result.first={value:a,type:_typeof(a)};if((0,_is.isObject)(a)){var _Object$getPrototypeO,_Object$getPrototypeO2;var name=(_Object$getPrototypeO=Object.getPrototypeOf(a))===null||_Object$getPrototypeO===void 0?void 0:(_Object$getPrototypeO2=_Object$getPrototypeO.constructor)===null||_Object$getPrototypeO2===void 0?void 0:_Object$getPrototypeO2.name;if(name!==undefined){result.first.instance=name}}}if(operator==="add"||operator==="update"){result.second={value:b,type:_typeof(b)};if((0,_is.isObject)(b)){var _Object$getPrototypeO3,_Object$getPrototypeO4;var _name=(_Object$getPrototypeO3=Object.getPrototypeOf(b))===null||_Object$getPrototypeO3===void 0?void 0:(_Object$getPrototypeO4=_Object$getPrototypeO3.constructor)===null||_Object$getPrototypeO4===void 0?void 0:_Object$getPrototypeO4.name;if(_name!==undefined){result.second.instance=_name}}}return result}function isNotEqual(a,b){if(_typeof(a)!==_typeof(b)){return true}if(a instanceof Date&&b instanceof Date){return a.getTime()!==b.getTime()}return a!==b}function getOperator(a,b){var operator;var typeA=_typeof(a);var typeB=_typeof(b);if(typeA==="undefined"&&typeB!=="undefined"){operator="add"}else if(typeA!=="undefined"&&typeB==="undefined"){operator="delete"}else if(isNotEqual(a,b)){operator="update"}return operator}_is.Monster.assignToNamespace("Monster.Data",Diff)},{"../types/is.js":30}],10:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pathfinder=void 0;var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");var _stack=require("../types/stack.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER=".";var WILDCARD="*";var Pathfinder=function(_Base){_inherits(Pathfinder,_Base);var _super=_createSuper(Pathfinder);function Pathfinder(object){var _this;_classCallCheck(this,Pathfinder);_this=_super.call(this);_this.object=object;_this.wildCard=WILDCARD;return _this}_createClass(Pathfinder,[{key:"setWildCard",value:function setWildCard(wildcard){(0,_validate.validateString)(wildcard);this.wildCard=wildcard;return this}},{key:"getVia",value:function getVia(path){(0,_validate.validateString)(path);return getValueViaPath.call(this,this.object,path)}},{key:"setVia",value:function setVia(path,value){(0,_validate.validateString)(path);setValueViaPath.call(this,this.object,path,value);return this}},{key:"deleteVia",value:function deleteVia(path){(0,_validate.validateString)(path);deleteValueViaPath.call(this,this.object,path);return this}},{key:"exists",value:function exists(path){(0,_validate.validateString)(path);try{getValueViaPath.call(this,this.object,path,true);return true}catch(e){}return false}}]);return Pathfinder}(_base.Base);exports.Pathfinder=Pathfinder;_namespace.Monster.assignToNamespace("Monster.Data",Pathfinder);function iterate(subject,path,check){var result=new Map;if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){for(var _i=0,_Object$entries=Object.entries(subject);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),key=_Object$entries$_i[0],value=_Object$entries$_i[1];result.set(key,getValueViaPath.call(this,value,path,check))}}else{var _key=path.split(DELIMITER).shift();result.set(_key,getValueViaPath.call(this,subject,path,check))}return result}function getValueViaPath(subject,path,check){if(path===""){return subject}var parts=path.split(DELIMITER);var current=parts.shift();if(current===this.wildCard){return iterate.call(this,subject,parts.join(DELIMITER),check)}if((0,_is.isObject)(subject)||(0,_is.isArray)(subject)){var anchor;if(subject instanceof Map||subject instanceof WeakMap){anchor=subject.get(current)}else if(subject instanceof Set||subject instanceof WeakSet){var _ref;current=parseInt(current);(0,_validate.validateInteger)(current);anchor=(_ref=_toConsumableArray(subject))===null||_ref===void 0?void 0:_ref[current]}else if(subject instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(subject)){current=parseInt(current);(0,_validate.validateInteger)(current);anchor=subject===null||subject===void 0?void 0:subject[current]}else{anchor=subject===null||subject===void 0?void 0:subject[current]}if((0,_is.isObject)(anchor)||(0,_is.isArray)(anchor)){return getValueViaPath.call(this,anchor,parts.join(DELIMITER),check)}if(parts.length>0){throw Error("the journey is not at its end ("+parts.join(DELIMITER)+")")}if(check===true&&!subject.hasOwnProperty(current)){throw Error("unknown value")}return anchor}throw TypeError("unsupported type "+_typeof(subject))}function setValueViaPath(object,path,value){(0,_validate.validateString)(path);var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var stack=new _stack.Stack;var current=subpath;while(true){try{getValueViaPath.call(this,object,current,true);break}catch(e){}stack.push(current);parts.pop();current=parts.join(DELIMITER);if(current==="")break}while(!stack.isEmpty()){current=stack.pop();var obj={};if(!stack.isEmpty()){var n=stack.peek().split(DELIMITER).pop();if((0,_is.isInteger)(parseInt(n))){obj=[]}}setValueViaPath.call(this,object,current,obj)}var anchor=getValueViaPath.call(this,object,subpath);if(!(0,_is.isObject)(object)&&!(0,_is.isArray)(object)){throw TypeError("unsupported type: "+_typeof(object))}if(anchor instanceof Map||anchor instanceof WeakMap){anchor.set(last,value)}else if(anchor instanceof Set||anchor instanceof WeakSet){anchor.append(value)}else if(anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);anchor[last]=value}else{anchor[last]=value}return}function deleteValueViaPath(object,path){var parts=path.split(DELIMITER);var last=parts.pop();var subpath=parts.join(DELIMITER);var anchor=getValueViaPath.call(this,object,subpath);if(anchor instanceof Map){anchor["delete"](last)}else if(anchor instanceof Set||anchor instanceof WeakMap||anchor instanceof WeakSet||anchor instanceof WeakRef){throw Error("unsupported action for this data type")}else if((0,_is.isArray)(anchor)){last=parseInt(last);(0,_validate.validateInteger)(last);delete anchor[last]}else{delete anchor[last]}return}},{"../namespace.js":26,"../types/base.js":27,"../types/is.js":30,"../types/stack.js":36,"../types/validate.js":39}],11:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Pipe=void 0;var _namespace=require("../namespace.js");var _transformer=require("./transformer.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break}}catch(err){_d=true;_e=err}finally{try{if(!_n&&_i["return"]!=null)_i["return"]()}finally{if(_d)throw _e}}return _arr}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var DELIMITER="|";var Pipe=function(_Base){_inherits(Pipe,_Base);var _super=_createSuper(Pipe);function Pipe(pipe){var _this;_classCallCheck(this,Pipe);_this=_super.call(this);(0,_validate.validateString)(pipe);_this.pipe=pipe.split(DELIMITER).map(function(v){return new _transformer.Transformer(v)});return _this}_createClass(Pipe,[{key:"setCallback",value:function setCallback(name,callback){for(var _i=0,_Object$entries=Object.entries(this.pipe);_i<_Object$entries.length;_i++){var _Object$entries$_i=_slicedToArray(_Object$entries[_i],2),t=_Object$entries$_i[1];t.setCallback(name,callback)}return this}},{key:"run",value:function run(value){return this.pipe.reduce(function(accumulator,transformer,currentIndex,array){return transformer.run(accumulator)},value)}}]);return Pipe}(_base.Base);exports.Pipe=Pipe;_namespace.Monster.assignToNamespace("Monster.Data",Pipe)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./transformer.js":12}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Transformer=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _is=require("../types/is.js");var _id=require("../types/id.js");var _clone=require("../util/clone.js");var _pathfinder=require("./pathfinder.js");function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _wrapRegExp(){_wrapRegExp=function _wrapRegExp(re,groups){return new BabelRegExp(re,undefined,groups)};var _super=RegExp.prototype;var _groups=new WeakMap;function BabelRegExp(re,flags,groups){var _this=new RegExp(re,flags);_groups.set(_this,groups||_groups.get(re));return _setPrototypeOf(_this,BabelRegExp.prototype)}_inherits(BabelRegExp,RegExp);BabelRegExp.prototype.exec=function(str){var result=_super.exec.call(this,str);if(result)result.groups=buildGroups(result,this);return result};BabelRegExp.prototype[Symbol.replace]=function(str,substitution){if(typeof substitution==="string"){var groups=_groups.get(this);return _super[Symbol.replace].call(this,str,substitution.replace(/\$<([^>]+)>/g,function(_,name){return"$"+groups[name]}))}else if(typeof substitution==="function"){var _this=this;return _super[Symbol.replace].call(this,str,function(){var args=arguments;if(_typeof(args[args.length-1])!=="object"){args=[].slice.call(args);args.push(buildGroups(args,_this))}return substitution.apply(this,args)})}else{return _super[Symbol.replace].call(this,str,substitution)}};function buildGroups(result,re){var g=_groups.get(re);return Object.keys(g).reduce(function(groups,name){groups[name]=result[g[name]];return groups},Object.create(null))}return _wrapRegExp.apply(this,arguments)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Transformer=function(_Base){_inherits(Transformer,_Base);var _super=_createSuper(Transformer);function Transformer(definition){var _this;_classCallCheck(this,Transformer);_this=_super.call(this);(0,_validate.validateString)(definition);_this.args=disassemble(definition);_this.command=_this.args.shift();_this.callbacks=new Map;return _this}_createClass(Transformer,[{key:"setCallback",value:function setCallback(name,callback){(0,_validate.validateString)(name);(0,_validate.validateFunction)(callback);this.callbacks.set(name,callback);return this}},{key:"run",value:function run(value){return transform.apply(this,[value])}}]);return Transformer}(_base.Base);exports.Transformer=Transformer;_namespace.Monster.assignToNamespace("Monster.Data",Transformer);function disassemble(command){(0,_validate.validateString)(command);var placeholder=new Map;var regex=_wrapRegExp(/((\\(.)){1})/gim,{pattern:2,char:3});var result=command.matchAll(regex);var _iterator=_createForOfIteratorHelper(result),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var m=_step.value;var g=m===null||m===void 0?void 0:m["groups"];if(!(0,_is.isObject)(g)){continue}var p=g===null||g===void 0?void 0:g["pattern"];var c=g===null||g===void 0?void 0:g["char"];if(p&&c){var r="__"+(new _id.ID).toString()+"__";placeholder.set(r,c);command=command.replace(p,r)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}var parts=command.split(":");parts=parts.map(function(value){var v=value.trim();var _iterator2=_createForOfIteratorHelper(placeholder),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var k=_step2.value;v=v.replace(k[0],k[1])}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}return v});return parts}function convertToString(value){if((0,_is.isObject)(value)&&value.hasOwnProperty("toString")){value=value.toString()}(0,_validate.validateString)(value);return value}function transform(value){var args=(0,_clone.clone)(this.args);var key;switch(this.command){case"static":return this.args.join(":");case"tolower":case"strtolower":case"tolowercase":(0,_validate.validateString)(value);return value.toLowerCase();case"toupper":case"strtoupper":case"touppercase":(0,_validate.validateString)(value);return value.toUpperCase();case"tostring":return""+value;case"tointeger":var n=parseInt(value);(0,_validate.validateInteger)(n);return n;case"tojson":return JSON.stringify(value);case"trim":(0,_validate.validateString)(value);return value.trim();case"rawurlencode":(0,_validate.validateString)(value);return encodeURIComponent(value).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A");case"call":var callback;var callbackName=args.shift();if((0,_is.isObject)(value)&&value.hasOwnProperty(callbackName)){callback=value[callbackName]}else if(this.callbacks.has(callbackName)){callback=this.callbacks.get(callbackName)}else if((typeof window==="undefined"?"undefined":_typeof(window))==="object"&&window.hasOwnProperty(callbackName)){callback=window[callbackName]}(0,_validate.validateFunction)(callback);args.unshift(value);return callback.apply(void 0,_toConsumableArray(args));case"plain":case"plaintext":(0,_validate.validateString)(value);var doc=(new DOMParser).parseFromString(value,"text/html");return doc.body.textContent||"";case"if":case"?":(0,_validate.validatePrimitive)(value);var trueStatement=args.shift()||undefined;var falseStatement=args.shift()||undefined;if(trueStatement==="value"){trueStatement=value}if(trueStatement==="\\value"){trueStatement="value"}if(falseStatement==="value"){falseStatement=value}if(falseStatement==="\\value"){falseStatement="value"}var condition=value!==undefined&&value!==""&&value!=="off"&&value!=="false"&&value!==false||value==="on"||value==="true"||value===true;return condition?trueStatement:falseStatement;case"ucfirst":(0,_validate.validateString)(value);var firstchar=value.charAt(0).toUpperCase();return firstchar+value.substr(1);case"ucwords":(0,_validate.validateString)(value);return value.replace(/^([a-z\u00E0-\u00FC])|\s+([a-z\u00E0-\u00FC])/g,function(v){return v.toUpperCase()});case"count":case"length":if(((0,_is.isString)(value)||(0,_is.isObject)(value)||(0,_is.isArray)(value))&&value.hasOwnProperty("length")){return value.length}throw new TypeError("unsupported type");case"base64":convertToString(value);return btoa(value);case"empty":return"";case"undefined":return undefined;case"prefix":(0,_validate.validateString)(value);var prefix=args===null||args===void 0?void 0:args[0];return prefix+value;case"suffix":(0,_validate.validateString)(value);var suffix=args===null||args===void 0?void 0:args[0];return value+suffix;case"uniqid":return(new _id.ID).toString();case"key":case"property":case"index":key=args.shift()||"undefined";var defaultValue=args.shift()||"";if(value instanceof Map){if(!value.has(key)){return defaultValue}return value.get(key)}if((0,_is.isObject)(value)||(0,_is.isArray)(value)){if(value!==null&&value!==void 0&&value[key]){return value===null||value===void 0?void 0:value[key]}return defaultValue}throw new Error("type not supported");case"path":key=args.shift()||"undefined";return new _pathfinder.Pathfinder(value).getVia(key);case"substring":(0,_validate.validateString)(value);var start=parseInt(args[0])||0;var end=(parseInt(args[1])||0)+start;return value.substring(start,end);case"nop":return value;default:throw new Error("unknown command "+this.command)}return value}},{"../namespace.js":26,"../types/base.js":27,"../types/id.js":29,"../types/is.js":30,"../types/validate.js":39,"../util/clone.js":41,"./pathfinder.js":10}],13:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Assembler=exports.ATTRIBUTEPREFIX=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _proxyobserver=require("../types/proxyobserver.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ATTRIBUTEPREFIX="data-monster-";exports.ATTRIBUTEPREFIX=ATTRIBUTEPREFIX;var Assembler=function(_Base){_inherits(Assembler,_Base);var _super=_createSuper(Assembler);function Assembler(fragment){var _this;_classCallCheck(this,Assembler);_this=_super.call(this);_this.attributePrefix=ATTRIBUTEPREFIX;(0,_validate.validateInstance)(fragment,(0,_global.getGlobalFunction)("DocumentFragment"));_this.fragment=fragment;return _this}_createClass(Assembler,[{key:"setAttributePrefix",value:function setAttributePrefix(prefix){(0,_validate.validateString)(prefix);this.attributePrefix=prefix;return this}},{key:"getAttributePrefix",value:function getAttributePrefix(){return this.attributePrefix}},{key:"createDocumentFragment",value:function createDocumentFragment(data){if(data===undefined){data=new _proxyobserver.ProxyObserver({})}(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);var fragment=this.fragment.cloneNode(true);return fragment}}]);return Assembler}(_base.Base);exports.Assembler=Assembler;_base.Monster.assignToNamespace("Monster.DOM",Assembler)},{"../types/base.js":27,"../types/global.js":28,"../types/proxyobserver.js":33,"../types/validate.js":39}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ATTRIBUTE_UPDATER_REMOVE=exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=exports.ATTRIBUTE_UPDATER_INSERT=exports.ATTRIBUTE_UPDATER_REPLACE=exports.ATTRIBUTE_UPDATER_ATTRIBUTES=exports.ATTRIBUTE_THEME_NAME=exports.ATTRIBUTE_THEME_PREFIX=exports.DEFAULT_THEME=exports.ATTRIBUTE_OPTIONS=exports.ATTRIBUTE_PREFIX=void 0;var _namespace=require("../namespace.js");var ATTRIBUTE_PREFIX="data-monster-";exports.ATTRIBUTE_PREFIX=ATTRIBUTE_PREFIX;var ATTRIBUTE_OPTIONS=ATTRIBUTE_PREFIX+"options";exports.ATTRIBUTE_OPTIONS=ATTRIBUTE_OPTIONS;var DEFAULT_THEME="monster";exports.DEFAULT_THEME=DEFAULT_THEME;var ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_PREFIX+"theme-";exports.ATTRIBUTE_THEME_PREFIX=ATTRIBUTE_THEME_PREFIX;var ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_PREFIX+"name";exports.ATTRIBUTE_THEME_NAME=ATTRIBUTE_THEME_NAME;var ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_PREFIX+"attributes";exports.ATTRIBUTE_UPDATER_ATTRIBUTES=ATTRIBUTE_UPDATER_ATTRIBUTES;var ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_PREFIX+"replace";exports.ATTRIBUTE_UPDATER_REPLACE=ATTRIBUTE_UPDATER_REPLACE;var ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_PREFIX+"insert";exports.ATTRIBUTE_UPDATER_INSERT=ATTRIBUTE_UPDATER_INSERT;var ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_PREFIX+"insert-reference";exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE=ATTRIBUTE_UPDATER_INSERT_REFERENCE;var ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_PREFIX+"remove";exports.ATTRIBUTE_UPDATER_REMOVE=ATTRIBUTE_UPDATER_REMOVE},{"../namespace.js":26}],15:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.registerCustomElement=registerCustomElement;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _validate.Monster}});exports.CustomElement=void 0;var _constants=require("./constants.js");var _template=require("./template.js");var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var CustomElement=function(_HTMLElement){_inherits(CustomElement,_HTMLElement);var _super=_createSuper(CustomElement);function CustomElement(){var _this;_classCallCheck(this,CustomElement);_this=_super.call(this);_this._options=Object.assign({},_this.defaults,getOptionsFromAttributes.call(_assertThisInitialized(_this)));_this.init();return _this}_createClass(CustomElement,[{key:"defaults",get:function get(){return{shadowMode:"open",delegatesFocus:true}}},{key:"getOption",value:function getOption(key,defaultValue){var _this$_options;(0,_validate.validateString)(key);var v=(_this$_options=this._options)===null||_this$_options===void 0?void 0:_this$_options[key];if(v===undefined)return defaultValue;return v}},{key:"init",value:function init(){initShadowRoot.call(this);return this}},{key:"assemble",value:function assemble(){return this}},{key:"disassemble",value:function disassemble(){return this}},{key:"connectedCallback",value:function connectedCallback(){this.assemble()}},{key:"disconnectedCallback",value:function disconnectedCallback(){this.disassemble()}},{key:"adoptedCallback",value:function adoptedCallback(){}},{key:"attributeChangedCallback",value:function attributeChangedCallback(attrName,oldVal,newVal){this.assemble()}}],[{key:"getTemplate",value:function getTemplate(){throw new Error("the method getTemplate must be overwritten by the derived class.")}},{key:"getTag",value:function getTag(){throw new Error("the method getTag must be overwritten by the derived class.")}},{key:"getCSSStyleSheet",value:function getCSSStyleSheet(){return new CSSStyleSheet}}]);return CustomElement}(_wrapNativeSuper(HTMLElement));exports.CustomElement=CustomElement;function getOptionsFromAttributes(){if(this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)){try{var obj=JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));(0,_validate.validateObject)(obj);return obj}catch(e){throw new Error("the options attribute "+_constants.ATTRIBUTE_OPTIONS+" does not contain a valid json definition (actual: "+this.getAttribute(_constants.ATTRIBUTE_OPTIONS)+").")}}return{}}function initShadowRoot(){this.attachShadow({mode:this.getOption("shadowMode","open"),delegatesFocus:this.getOption("delegatesFocus",true)});var styleSheet=this.constructor.getCSSStyleSheet();if(styleSheet instanceof CSSStyleSheet){this.shadowRoot.adoptedStyleSheets=[styleSheet]}try{var template=(0,_template.findDocumentTemplate)(this.constructor.getTag());this.shadowRoot.appendChild(template.createDocumentFragment())}catch(e){this.shadowRoot.innerHTML=this.constructor.getTemplate()}return this}function registerCustomElement(element){(0,_validate.validateFunction)(element);var tag=element.getTag();(0,_global.getGlobalObject)("customElements").define(element.getTag(),element);return}_validate.Monster.assignToNamespace("Monster.DOM",CustomElement,registerCustomElement)},{"../types/global.js":28,"../types/validate.js":39,"./constants.js":14,"./template.js":17}],16:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getHandleFromNode=getHandleFromNode;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Handle=void 0;var _base=require("../types/base.js");var _stack=require("../types/stack.js");var _validate=require("../types/validate.js");var _proxyobserver=require("../types/proxyobserver.js");var _observer=require("../types/observer.js");var _global=require("../types/global.js");var _is=require("../types/is.js");var _assembler=require("./assembler.js");var _id=require("../types/id.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var MONSTERDOMHANDLE=Symbol("MonsterHandle");var Handle=function(_Base){_inherits(Handle,_Base);var _super=_createSuper(Handle);function Handle(data){var _this;_classCallCheck(this,Handle);_this=_super.call(this);var self=_assertThisInitialized(_this);self.id=new _id.ID;(0,_validate.validateInstance)(data,_proxyobserver.ProxyObserver);_this.data=data;_this.mutationObserver=createMutationObserver.call(_assertThisInitialized(_this));_this.dataObserver=createDataObserver.call(_assertThisInitialized(_this));_this.data.attachObserver(_this.dataObserver);_this.nodes=new WeakSet;_this.updates=new _stack.Stack;return _this}_createClass(Handle,[{key:"update",value:function update(){return}},{key:"remove",value:function remove(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(!this.nodes.has(node)){return this}this.mutationObserver.disconnect(node);delete node.dataset[MONSTERDOMHANDLE];node.removeAttribute(_assembler.ATTRIBUTEPREFIX+"handler");return this}},{key:"append",value:function append(node){if((0,_is.isInstance)(node,(0,_global.getGlobalFunction)("Document"))){node=node.firstElementChild}(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("HTMLElement"));if(this.nodes.has(node)){return this}node.dataset[MONSTERDOMHANDLE]=this;node.setAttribute(_assembler.ATTRIBUTEPREFIX+"handler",true);this.mutationObserver.observe(node,{attributes:true,childList:true,subtree:true,characterData:true,characterDataOldValue:true,attributeOldValue:true});this.nodes.add(node);return this}}]);return Handle}(_base.Base);exports.Handle=Handle;function createDataObserver(){var self=this;return new _observer.Observer(function(){self.update()})}function createMutationObserver(){var self=this;var MutationObserver=(0,_global.getGlobalFunction)("MutationObserver");return new MutationObserver(function(mutationsList,observer){var _iterator=_createForOfIteratorHelper(mutationsList),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var mutation=_step.value;self.updates.push(mutation)}}catch(err){_iterator.e(err)}finally{_iterator.f()}self.update()})}function getHandleFromNode(node){var _node$dataset;(0,_validate.validateInstance)(node,(0,_global.getGlobalFunction)("Node"));var handle=(_node$dataset=node.dataset)===null||_node$dataset===void 0?void 0:_node$dataset[MONSTERDOMHANDLE];if(handle===undefined){var parentNode=node===null||node===void 0?void 0:node["parentNode"];if((0,_is.isInstance)(parentNode,(0,_global.getGlobalFunction)("Node"))){return getHandleFromNode(parentNode)}}return handle}_base.Monster.assignToNamespace("Monster.DOM",getHandleFromNode,Handle)},{"../types/base.js":27,"../types/global.js":28,"../types/id.js":29,"../types/is.js":30,"../types/observer.js":31,"../types/proxyobserver.js":33,"../types/stack.js":36,"../types/validate.js":39,"./assembler.js":13}],17:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.findDocumentTemplate=findDocumentTemplate;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Template=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _theme=require("./theme.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Template=function(_Base){_inherits(Template,_Base);var _super=_createSuper(Template);function Template(template){var _this;_classCallCheck(this,Template);_this=_super.call(this);var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");(0,_validate.validateInstance)(template,HTMLTemplateElement);_this.template=template;return _this}_createClass(Template,[{key:"getTemplateElement",value:function getTemplateElement(){return this.template}},{key:"createDocumentFragment",value:function createDocumentFragment(){return this.template.content.cloneNode(true)}}]);return Template}(_base.Base);exports.Template=Template;function findDocumentTemplate(id){(0,_validate.validateString)(id);var document=(0,_global.getGlobalObject)("document");var HTMLTemplateElement=(0,_global.getGlobalFunction)("HTMLTemplateElement");var theme=(0,_theme.getDocumentTheme)();var themedID=id+"-"+theme.getName();var template=document.getElementById(themedID);if(template instanceof HTMLTemplateElement){return new Template(template)}template=document.getElementById(id);if(template instanceof HTMLTemplateElement){return new Template(template)}throw new Error("template "+id+" not found.")}_base.Monster.assignToNamespace("Monster.DOM",Template,findDocumentTemplate)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./theme.js":18}],18:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getDocumentTheme=getDocumentTheme;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Theme=void 0;var _base=require("../types/base.js");var _validate=require("../types/validate.js");var _global=require("../types/global.js");var _constants=require("./constants.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Theme=function(_Base){_inherits(Theme,_Base);var _super=_createSuper(Theme);function Theme(name){var _this;_classCallCheck(this,Theme);_this=_super.call(this);(0,_validate.validateString)(name);_this.name=name;return _this}_createClass(Theme,[{key:"getName",value:function getName(){return this.name}}]);return Theme}(_base.Base);exports.Theme=Theme;function getDocumentTheme(){var document=(0,_global.getGlobalObject)("document");var name=_constants.DEFAULT_THEME;var element=document.querySelector("html");if(element instanceof HTMLElement){var theme=element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);if(theme){name=theme}}return new Theme(name)}_base.Monster.assignToNamespace("Monster.DOM",Theme,getDocumentTheme)},{"../types/base.js":27,"../types/global.js":28,"../types/validate.js":39,"./constants.js":14}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getWindow=getWindow;exports.getDocument=getDocument;exports.getDocumentFragmentFromString=getDocumentFragmentFromString;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function getDocument(){var _getGlobal;var document=(_getGlobal=(0,_global.getGlobal)())===null||_getGlobal===void 0?void 0:_getGlobal["document"];if(_typeof(document)!=="object"){throw new Error("not supported environment")}return document}function getWindow(){var _getGlobal2;var window=(_getGlobal2=(0,_global.getGlobal)())===null||_getGlobal2===void 0?void 0:_getGlobal2["window"];if(_typeof(window)!=="object"){throw new Error("not supported environment")}return window}function getDocumentFragmentFromString(html){(0,_validate.validateString)(html);var document=getDocument();var template=document.createElement("template");template.innerHTML=html;return template.content}_global.Monster.assignToNamespace("Monster.DOM",getWindow,getDocument,getDocumentFragmentFromString)},{"../types/global.js":28,"../types/validate.js":39}],20:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Handler=void 0;var _namespace=require("../namespace.js");var _base=require("../types/base.js");var _logger=require("./logger.js");var _logentry=require("./logentry.js");var _validate=require("../types/validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Handler=function(_Base){_inherits(Handler,_Base);var _super=_createSuper(Handler);function Handler(){var _this;_classCallCheck(this,Handler);_this=_super.call(this);_this.loglevel=_logger.OFF;return _this}_createClass(Handler,[{key:"log",value:function log(entry){(0,_validate.validateInstance)(entry,_logentry.LogEntry);if(this.loglevel<entry.getLogLevel()){return false}return true}},{key:"setLogLevel",value:function setLogLevel(loglevel){(0,_validate.validateInteger)(loglevel);this.loglevel=loglevel;return this}},{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"setAll",value:function setAll(){this.setLogLevel(_logger.ALL);return this}},{key:"setTrace",value:function setTrace(){this.setLogLevel(_logger.TRACE);return this}},{key:"setDebug",value:function setDebug(){this.setLogLevel(_logger.DEBUG);return this}},{key:"setInfo",value:function setInfo(){this.setLogLevel(_logger.INFO);return this}},{key:"setWarn",value:function setWarn(){this.setLogLevel(_logger.WARN);return this}},{key:"setError",value:function setError(){this.setLogLevel(_logger.ERROR);return this}},{key:"setFatal",value:function setFatal(){this.setLogLevel(_logger.FATAL);return this}},{key:"setOff",value:function setOff(){this.setLogLevel(_logger.OFF);return this}}]);return Handler}(_base.Base);exports.Handler=Handler;_namespace.Monster.assignToNamespace("Monster.Logging",Handler)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39,"./logentry.js":22,"./logger.js":23}],21:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});Object.defineProperty(exports,"Handler",{enumerable:true,get:function get(){return _handler.Handler}});var _namespace=require("../../namespace.js");var _base=require("../../types/base.js");var _handler=require("../../logging/handler.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ConsoleHandler=function(_Base){_inherits(ConsoleHandler,_Base);var _super=_createSuper(ConsoleHandler);function ConsoleHandler(){_classCallCheck(this,ConsoleHandler);return _super.call(this)}return ConsoleHandler}(_base.Base);_namespace.Monster.assignToNamespace("Monster.Logging",ConsoleHandler)},{"../../logging/handler.js":20,"../../namespace.js":26,"../../types/base.js":27}],22:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.LogEntry=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _base=require("../types/base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var LogEntry=function(_Base){_inherits(LogEntry,_Base);var _super=_createSuper(LogEntry);function LogEntry(loglevel){var _this;_classCallCheck(this,LogEntry);_this=_super.call(this);(0,_validate.validateInteger)(loglevel);_this.loglevel=loglevel;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;return _this}_createClass(LogEntry,[{key:"getLogLevel",value:function getLogLevel(){return this.loglevel}},{key:"getArguments",value:function getArguments(){return this.arguments}}]);return LogEntry}(_base.Base);exports.LogEntry=LogEntry;_namespace.Monster.assignToNamespace("Monster.Logging",LogEntry)},{"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],23:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.OFF=exports.FATAL=exports.ERROR=exports.WARN=exports.INFO=exports.DEBUG=exports.TRACE=exports.ALL=exports.Logger=void 0;var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");var _handler=require("../logging/handler.js");var _logentry=require("../logging/logentry.js");var _base=require("../types/base.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ALL=255;exports.ALL=ALL;var TRACE=64;exports.TRACE=TRACE;var DEBUG=32;exports.DEBUG=DEBUG;var INFO=16;exports.INFO=INFO;var WARN=8;exports.WARN=WARN;var ERROR=4;exports.ERROR=ERROR;var FATAL=2;exports.FATAL=FATAL;var OFF=0;exports.OFF=OFF;var Logger=function(_Base){_inherits(Logger,_Base);var _super=_createSuper(Logger);function Logger(){var _this;_classCallCheck(this,Logger);_this=_super.call(this);_this.handler=new Set;return _this}_createClass(Logger,[{key:"addHandler",value:function addHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler.add(handler);return this}},{key:"removeHandler",value:function removeHandler(handler){(0,_validate.validateObject)(handler);if(!(handler instanceof _handler.Handler)){throw new Error("the handler must be an instance of Handler")}this.handler["delete"](handler);return this}},{key:"logTrace",value:function logTrace(){triggerLog.apply(this,[TRACE].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logDebug",value:function logDebug(){triggerLog.apply(this,[DEBUG].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logInfo",value:function logInfo(){triggerLog.apply(this,[INFO].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logWarn",value:function logWarn(){triggerLog.apply(this,[WARN].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logError",value:function logError(){triggerLog.apply(this,[ERROR].concat(Array.prototype.slice.call(arguments)));return this}},{key:"logFatal",value:function logFatal(){triggerLog.apply(this,[FATAL].concat(Array.prototype.slice.call(arguments)));return this}},{key:"getLabel",value:function getLabel(level){(0,_validate.validateInteger)(level);if(level===ALL)return"ALL";if(level===TRACE)return"TRACE";if(level===DEBUG)return"DEBUG";if(level===INFO)return"INFO";if(level===WARN)return"WARN";if(level===ERROR)return"ERROR";if(level===FATAL)return"FATAL";if(level===OFF)return"OFF";return"unknown"}},{key:"getLevel",value:function getLevel(label){(0,_validate.validateString)(label);if(label==="ALL")return ALL;if(label==="TRACE")return TRACE;if(label==="DEBUG")return DEBUG;if(label==="INFO")return INFO;if(label==="WARN")return WARN;if(label==="ERROR")return ERROR;if(label==="FATAL")return FATAL;if(label==="OFF")return OFF;return 0}}]);return Logger}(_base.Base);exports.Logger=Logger;_namespace.Monster.assignToNamespace("Monster.Logging",Logger);function triggerLog(loglevel){var logger=this;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}var _iterator=_createForOfIteratorHelper(logger.handler),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var handler=_step.value;handler.log(new _logentry.LogEntry(loglevel,args))}}catch(err){_iterator.e(err)}finally{_iterator.f()}return logger}},{"../logging/handler.js":20,"../logging/logentry.js":22,"../namespace.js":26,"../types/base.js":27,"../types/validate.js":39}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.random=random;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _global.Monster}});var _global=require("../types/global.js");function random(min,max){if(min===undefined){min=0}if(max===undefined){max=MAX}if(max<min){throw new Error("max must be greater than min")}return Math.round(create(min,max))}var MAX=1e9;Math.log2=Math.log2||function(n){return Math.log(n)/Math.log(2)};function create(min,max){var crypt;var globalReference=(0,_global.getGlobal)();crypt=(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["msCrypto"])||(globalReference===null||globalReference===void 0?void 0:globalReference["crypto"])||undefined;if(typeof crypt==="undefined"){throw new Error("missing crypt")}var rval=0;var range=max-min;if(range<2){return min}var bitsNeeded=Math.ceil(Math.log2(range));if(bitsNeeded>53){throw new Error("we cannot generate numbers larger than 53 bits.")}var bytesNeeded=Math.ceil(bitsNeeded/8);var mask=Math.pow(2,bitsNeeded)-1;var byteArray=new Uint8Array(bytesNeeded);crypt.getRandomValues(byteArray);var p=(bytesNeeded-1)*8;for(var i=0;i<bytesNeeded;i++){rval+=byteArray[i]*Math.pow(2,p);p-=8}rval=rval&mask;if(rval>=range){return create(min,max)}return min+rval}_global.Monster.assignToNamespace("Monster.Math",random)},{"../types/global.js":28}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("./namespace.js");require("./types/base.js");require("./types/global.js");require("./types/id.js");require("./types/is.js");require("./types/observer.js");require("./types/observerlist.js");require("./types/proxyobserver.js");require("./types/queue.js");require("./types/randomid.js");require("./types/stack.js");require("./types/tokenlist.js");require("./types/uniquequeue.js");require("./types/validate.js");require("./types/version.js");require("./math/random.js");require("./data/diff.js");require("./data/pathfinder.js");require("./data/pipe.js");require("./data/transformer.js");require("./logging/handler.js");require("./logging/logentry.js");require("./logging/logger.js");require("./logging/handler/console.js");require("./util/clone.js");require("./util/comparator.js");require("./util/freeze.js");require("./constraints/abstract.js");require("./constraints/abstractoperator.js");require("./constraints/andoperator.js");require("./constraints/invalid.js");require("./constraints/isarray.js");require("./constraints/isobject.js");require("./constraints/oroperator.js");require("./constraints/valid.js");require("./dom/util.js");require("./dom/template.js");require("./dom/handle.js");require("./dom/assembler.js");require("./dom/customelement.js");_namespace.Monster.Util.deepFreeze(_namespace.Monster);var rootName;try{rootName=_namespace.Monster.Types.getGlobalObject("__MonsterRootName__")}catch(e){}if(!rootName)rootName="Monster";_namespace.Monster.Types.getGlobal()[rootName]=_namespace.Monster},{"./constraints/abstract.js":1,"./constraints/abstractoperator.js":2,"./constraints/andoperator.js":3,"./constraints/invalid.js":4,"./constraints/isarray.js":5,"./constraints/isobject.js":6,"./constraints/oroperator.js":7,"./constraints/valid.js":8,"./data/diff.js":9,"./data/pathfinder.js":10,"./data/pipe.js":11,"./data/transformer.js":12,"./dom/assembler.js":13,"./dom/customelement.js":15,"./dom/handle.js":16,"./dom/template.js":17,"./dom/util.js":19,"./logging/handler.js":20,"./logging/handler/console.js":21,"./logging/logentry.js":22,"./logging/logger.js":23,"./math/random.js":24,"./namespace.js":26,"./types/base.js":27,"./types/global.js":28,"./types/id.js":29,"./types/is.js":30,"./types/observer.js":31,"./types/observerlist.js":32,"./types/proxyobserver.js":33,"./types/queue.js":34,"./types/randomid.js":35,"./types/stack.js":36,"./types/tokenlist.js":37,"./types/uniquequeue.js":38,"./types/validate.js":39,"./types/version.js":40,"./util/clone.js":41,"./util/comparator.js":42,"./util/freeze.js":43}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.assignToNamespace=assignToNamespace;exports.Monster=void 0;function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var Namespace=function(){function Namespace(namespace){_classCallCheck(this,Namespace);if(namespace===undefined||typeof namespace!=="string"){throw new Error("namespace is not a string")}this.namespace=namespace}_createClass(Namespace,[{key:"getNamespace",value:function getNamespace(){return this.namespace}},{key:"toString",value:function toString(){return this.getNamespace()}}]);return Namespace}();var Monster=new Namespace("Monster");exports.Monster=Monster;assignToNamespace("Monster",assignToNamespace);function assignToNamespace(ns){var current=namespaceFor(ns.split("."));for(var i=0,l=arguments.length<=1?0:arguments.length-1;i<l;i++){current[objectName(i+1<1||arguments.length<=i+1?undefined:arguments[i+1])]=i+1<1||arguments.length<=i+1?undefined:arguments[i+1]}}function objectName(fn){try{if(typeof fn!=="function"){throw new Error("the first argument is not a function or class.")}if(fn.hasOwnProperty("name")){return fn.name}if("function"===typeof fn.toString){var s=fn.toString();var f=s.match(/^\s*function\s+([^\s(]+)/);if(Array.isArray(f)&&typeof f[1]==="string"){return f[1]}var c=s.match(/^\s*class\s+([^\s(]+)/);if(Array.isArray(c)&&typeof c[1]==="string"){return c[1]}}}catch(e){throw new Error("exception "+e)}throw new Error("the name of the class or function cannot be resolved.")}function namespaceFor(parts){var space=Monster,ns="Monster";for(var i=0;i<parts.length;i++){if("Monster"===parts[i]){continue}ns+="."+parts[i];if(!space.hasOwnProperty(parts[i])){space[parts[i]]=new Namespace(ns)}space=space[parts[i]]}return space}},{}],27:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Base=void 0;var _namespace=require("../namespace.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _wrapNativeSuper(Class){var _cache=typeof Map==="function"?new Map:undefined;_wrapNativeSuper=function _wrapNativeSuper(Class){if(Class===null||!_isNativeFunction(Class))return Class;if(typeof Class!=="function"){throw new TypeError("Super expression must either be null or a function")}if(typeof _cache!=="undefined"){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:false,writable:true,configurable:true}});return _setPrototypeOf(Wrapper,Class)};return _wrapNativeSuper(Class)}function _construct(Parent,args,Class){if(_isNativeReflectConstruct()){_construct=Reflect.construct}else{_construct=function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a);var instance=new Constructor;if(Class)_setPrototypeOf(instance,Class.prototype);return instance}}return _construct.apply(null,arguments)}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _isNativeFunction(fn){return Function.toString.call(fn).indexOf("[native code]")!==-1}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Base=function(_Object){_inherits(Base,_Object);var _super=_createSuper(Base);function Base(){_classCallCheck(this,Base);return _super.apply(this,arguments)}_createClass(Base,[{key:"toString",value:function toString(){return JSON.stringify(this)}}]);return Base}(_wrapNativeSuper(Object));exports.Base=Base;_namespace.Monster.assignToNamespace("Monster.Types",Base)},{"../namespace.js":26}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.getGlobal=getGlobal;exports.getGlobalObject=getGlobalObject;exports.getGlobalFunction=getGlobalFunction;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("./validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}var globalReference;(function(){if((typeof globalThis==="undefined"?"undefined":_typeof(globalThis))==="object"){globalReference=globalThis;return}Object.defineProperty(Object.prototype,"__monster__",{get:function get(){return this},configurable:true});__monster__.globalThis=__monster__;delete Object.prototype.__monster__;globalReference=globalThis})();function getGlobal(){return globalReference}function getGlobalObject(name){var _globalReference;(0,_validate.validateString)(name);var o=(_globalReference=globalReference)===null||_globalReference===void 0?void 0:_globalReference[name];if(typeof o==="undefined")throw new Error("the object "+name+" is not defined");(0,_validate.validateObject)(o);return o}function getGlobalFunction(name){var _globalReference2;(0,_validate.validateString)(name);var f=(_globalReference2=globalReference)===null||_globalReference2===void 0?void 0:_globalReference2[name];if(typeof f==="undefined")throw new Error("the function "+name+" is not defined");(0,_validate.validateFunction)(f);return f}_namespace.Monster.assignToNamespace("Monster.Types",getGlobal,getGlobalObject,getGlobalFunction)},{"../namespace.js":26,"./validate.js":39}],29:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.ID=void 0;var _base=require("./base.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=new Map;var ID=function(_Base){_inherits(ID,_Base);var _super=_createSuper(ID);function ID(prefix){var _this;_classCallCheck(this,ID);_this=_super.call(this);if(prefix===undefined){prefix="id"}(0,_validate.validateString)(prefix);if(!internalCounter.has(prefix)){internalCounter.set(prefix,1)}var count=internalCounter.get(prefix);_this.id=prefix+count;internalCounter.set(prefix,++count);return _this}_createClass(ID,[{key:"toString",value:function toString(){return this.id}}]);return ID}(_base.Base);exports.ID=ID;_base.Monster.assignToNamespace("Monster.Types",ID)},{"./base.js":27,"./validate.js":39}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.isPrimitive=isPrimitive;exports.isBoolean=isBoolean;exports.isString=isString;exports.isObject=isObject;exports.isInstance=isInstance;exports.isArray=isArray;exports.isFunction=isFunction;exports.isIterable=isIterable;exports.isInteger=isInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function isIterable(value){if(value===undefined)return false;if(value===null)return false;return typeof(value===null||value===void 0?void 0:value[Symbol.iterator])==="function"}function isPrimitive(value){var type;if(value===undefined||value===null||value===NaN){return true}type=_typeof(value);if(type==="string"||type==="number"||type==="boolean"||type==="symbol"){return true}return false}function isBoolean(value){if(value===true||value===false){return true}return false}function isString(value){if(value===undefined||typeof value!=="string"){return false}return true}function isObject(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(_typeof(value)==="object"){return true}return false}function isInstance(value,instance){if(!isObject(value))return false;if(!isFunction(instance))return false;if(!instance.hasOwnProperty("prototype"))return false;return value instanceof instance?true:false}function isArray(value){if(Array.isArray(value)){return true}return false}function isFunction(value){if(isArray(value))return false;if(isPrimitive(value))return false;if(typeof value==="function"){return true}return false}function isInteger(value){return Number.isInteger(value)}_namespace.Monster.assignToNamespace("Monster.Types",isPrimitive,isBoolean,isString,isObject,isArray,isFunction,isIterable,isInteger)},{"../namespace.js":26}],31:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Observer=void 0;var _namespace=require("../namespace.js");var _tokenlist=require("./tokenlist.js");var _is=require("./is.js");var _base=require("./base.js");var _uniquequeue=require("./uniquequeue.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Observer=function(_Base){_inherits(Observer,_Base);var _super=_createSuper(Observer);function Observer(callback){var _this;_classCallCheck(this,Observer);_this=_super.call(this);if(typeof callback!=="function"){throw new Error("observer callback must be a function")}_this.callback=callback;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key]}_this.arguments=args;_this.tags=new _tokenlist.TokenList;_this.queue=new _uniquequeue.UniqueQueue;return _this}_createClass(Observer,[{key:"addTag",value:function addTag(tag){this.tags.add(tag);return this}},{key:"removeTag",value:function removeTag(tag){this.tags.remove(tag);return this}},{key:"getTags",value:function getTags(){return this.tags.entries()}},{key:"hasTag",value:function hasTag(tag){return this.tags.contains(tag)}},{key:"update",value:function update(subject){var self=this;return new Promise(function(resolve,reject){if(!(0,_is.isObject)(subject)){reject("subject must be an object");return}self.queue.add(subject);setTimeout(function(){try{if(self.queue.isEmpty()){resolve();return}var s=self.queue.poll();var result=self.callback.apply(s,self.arguments);if((0,_is.isObject)(result)&&result instanceof Promise){result.then(resolve)["catch"](reject);return}resolve(result)}catch(e){reject(e)}},0)})}}]);return Observer}(_base.Base);exports.Observer=Observer;_namespace.Monster.assignToNamespace("Monster.Types",Observer)},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./tokenlist.js":37,"./uniquequeue.js":38}],32:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ObserverList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _observer=require("./observer.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ObserverList=function(_Base){_inherits(ObserverList,_Base);var _super=_createSuper(ObserverList);function ObserverList(){var _this;_classCallCheck(this,ObserverList);_this=_super.call(this);_this.observers=[];return _this}_createClass(ObserverList,[{key:"attach",value:function attach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);this.observers.push(observer);return this}},{key:"detach",value:function detach(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){this.observers.splice(i,1)}}return this}},{key:"contains",value:function contains(observer){(0,_validate.validateInstance)(observer,_observer.Observer);var i=0,l=this.observers.length;for(;i<l;i++){if(this.observers[i]===observer){return true}}return false}},{key:"notify",value:function notify(subject){var pomises=[];var i=0,l=this.observers.length;for(;i<l;i++){pomises.push(this.observers[i].update(subject))}return Promise.all(pomises)}}]);return ObserverList}(_base.Base);exports.ObserverList=ObserverList;_namespace.Monster.assignToNamespace("Monster.Types",ObserverList)},{"../namespace.js":26,"./base.js":27,"./observer.js":31,"./validate.js":39}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.ProxyObserver=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _validate=require("./validate.js");var _observerlist=require("./observerlist.js");var _observer=require("./observer.js");var _is=require("./is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var ProxyObserver=function(_Base){_inherits(ProxyObserver,_Base);var _super=_createSuper(ProxyObserver);function ProxyObserver(object){var _this;_classCallCheck(this,ProxyObserver);_this=_super.call(this);(0,_validate.validateObject)(object);_this.realSubject=object;_this.subject=new Proxy(object,getHandler.call(_assertThisInitialized(_this)));_this.objectMap=new WeakMap;_this.objectMap.set(_this.realSubject,_this.subject);_this.observers=new _observerlist.ObserverList;return _this}_createClass(ProxyObserver,[{key:"getSubject",value:function getSubject(){return this.subject}},{key:"getRealSubject",value:function getRealSubject(){return this.realSubject}},{key:"attachObserver",value:function attachObserver(observer){this.observers.attach(observer);return this}},{key:"detachObserver",value:function detachObserver(observer){this.observers.detach(observer);return this}},{key:"notifyObservers",value:function notifyObservers(){return this.observers.notify(this)}},{key:"containsObserver",value:function containsObserver(observer){return this.observers.contains(observer)}}]);return ProxyObserver}(_base.Base);exports.ProxyObserver=ProxyObserver;_namespace.Monster.assignToNamespace("Monster.Types",ProxyObserver);function getHandler(){var proxy=this;var handler={get:function get(target,key,receiver){var value=Reflect.get(target,key,receiver);if(_typeof(key)==="symbol"){return value}if((0,_is.isPrimitive)(value)){return value}if((0,_is.isArray)(value)||(0,_is.isObject)(value)){if(proxy.objectMap.has(value)){return proxy.objectMap.get(value)}else{var p=new Proxy(value,handler);proxy.objectMap.set(value,p);return p}}return value},set:function set(target,key,value,receiver){var result=Reflect.set(target,key,value,receiver);if((typeof property==="undefined"?"undefined":_typeof(property))!=="symbol"){proxy.observers.notify(proxy)}return result},deleteProperty:function deleteProperty(target,key){if(key in target){delete target[key];if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return true}return false},defineProperty:function defineProperty(target,key,descriptor){var result=Reflect.defineProperty(target,key,descriptor);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result},setPrototypeOf:function setPrototypeOf(target,key){var result=Reflect.setPrototypeOf(object1,key);if(_typeof(key)!=="symbol"){proxy.observers.notify(proxy)}return result}};return handler}},{"../namespace.js":26,"./base.js":27,"./is.js":30,"./observer.js":31,"./observerlist.js":32,"./validate.js":39}],34:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Queue=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Queue=function(_Base){_inherits(Queue,_Base);var _super=_createSuper(Queue);function Queue(){var _this;_classCallCheck(this,Queue);_this=_super.call(this);_this.data=[];return _this}_createClass(Queue,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){if(this.isEmpty()){return undefined}return this.data[0]}},{key:"add",value:function add(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}return this.data.shift()}}]);return Queue}(_base.Base);exports.Queue=Queue;_base.Monster.assignToNamespace("Monster.Types",Queue)},{"./base.js":27}],35:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _id.Monster}});exports.RandomID=void 0;var _id=require("./id.js");var _global=require("./global.js");var _random=require("../math/random.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var internalCounter=0;var RandomID=function(_ID){_inherits(RandomID,_ID);var _super=_createSuper(RandomID);function RandomID(){var _this;_classCallCheck(this,RandomID);_this=_super.call(this);internalCounter+=1;_this.id=(0,_global.getGlobal)().btoa((0,_random.random)(1,1e4)).replace(/=/g,"").replace(/^[0-9]+/,"X")+internalCounter;return _this}return RandomID}(_id.ID);exports.RandomID=RandomID;_id.Monster.assignToNamespace("Monster.Types",RandomID)},{"../math/random.js":24,"./global.js":28,"./id.js":29}],36:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Stack=void 0;var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Stack=function(_Base){_inherits(Stack,_Base);var _super=_createSuper(Stack);function Stack(){var _this;_classCallCheck(this,Stack);_this=_super.call(this);_this.data=[];return _this}_createClass(Stack,[{key:"isEmpty",value:function isEmpty(){return this.data.length===0}},{key:"peek",value:function peek(){var _this$data;if(this.isEmpty()){return undefined}return(_this$data=this.data)===null||_this$data===void 0?void 0:_this$data[this.data.length-1]}},{key:"push",value:function push(value){this.data.push(value);return this}},{key:"clear",value:function clear(){this.data=[];return this}},{key:"pop",value:function pop(){if(this.isEmpty()){return undefined}return this.data.pop()}}]);return Stack}(_base.Base);exports.Stack=Stack;_base.Monster.assignToNamespace("Monster.Types",Stack)},{"./base.js":27}],37:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.TokenList=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");var _is=require("../types/is.js");var _validate=require("../types/validate.js");function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var TokenList=function(_Base){_inherits(TokenList,_Base);var _super=_createSuper(TokenList);function TokenList(init){var _this;_classCallCheck(this,TokenList);_this=_super.call(this);_this.tokens=new Set;if(typeof init!=="undefined"){_this.add(init)}return _this}_createClass(TokenList,[{key:"getIterator",value:function getIterator(){return this[Symbol.iterator]()}},{key:Symbol.iterator,value:function value(){var index=0;var entries=this.entries();return{next:function next(){if(index<entries.length){return{value:entries===null||entries===void 0?void 0:entries[index++],done:false}}else{return{done:true}}}}}},{key:"contains",value:function contains(value){var _this2=this;if((0,_is.isString)(value)){value=value.trim();var counter=0;value.split(" ").forEach(function(token){if(_this2.tokens.has(token.trim())===false)return false;counter++});return counter>0?true:false}if((0,_is.isIterable)(value)){var _counter=0;var _iterator=_createForOfIteratorHelper(value),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var token=_step.value;(0,_validate.validateString)(token);if(this.tokens.has(token.trim())===false)return false;_counter++}}catch(err){_iterator.e(err)}finally{_iterator.f()}return _counter>0?true:false}return false}},{key:"add",value:function add(value){var _this3=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this3.tokens.add(token.trim())})}else if((0,_is.isIterable)(value)){var _iterator2=_createForOfIteratorHelper(value),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var token=_step2.value;(0,_validate.validateString)(token);this.tokens.add(token.trim())}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"clear",value:function clear(){this.tokens.clear();return this}},{key:"remove",value:function remove(value){var _this4=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){_this4.tokens["delete"](token.trim())})}else if((0,_is.isIterable)(value)){var _iterator3=_createForOfIteratorHelper(value),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var token=_step3.value;(0,_validate.validateString)(token);this.tokens["delete"](token.trim())}}catch(err){_iterator3.e(err)}finally{_iterator3.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"replace",value:function replace(token,newToken){(0,_validate.validateString)(token);(0,_validate.validateString)(newToken);if(!this.contains(token)){return this}var a=Array.from(this.tokens);var i=a.indexOf(token);if(i===-1)return this;a.splice(i,1,newToken);this.tokens=new Set;this.add(a);return this}},{key:"toggle",value:function toggle(value){var _this5=this;if((0,_is.isString)(value)){value.split(" ").forEach(function(token){toggleValue.call(_this5,token)})}else if((0,_is.isIterable)(value)){var _iterator4=_createForOfIteratorHelper(value),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var token=_step4.value;toggleValue.call(this,token)}}catch(err){_iterator4.e(err)}finally{_iterator4.f()}}else if(typeof value!=="undefined"){throw new TypeError("unsupported value")}return this}},{key:"entries",value:function entries(){return Array.from(this.tokens)}},{key:"forEach",value:function forEach(callback){(0,_validate.validateFunction)(callback);this.tokens.forEach(callback);return this}},{key:"toString",value:function toString(){return this.entries().join(" ")}}]);return TokenList}(_base.Base);exports.TokenList=TokenList;function toggleValue(token){if(!(this instanceof TokenList))throw Error("must be called with TokenList.call");(0,_validate.validateString)(token);token=token.trim();if(this.contains(token)){this.remove(token);return this}this.add(token);return this}_namespace.Monster.assignToNamespace("Monster.Types",TokenList)},{"../namespace.js":26,"../types/is.js":30,"../types/validate.js":39,"./base.js":27}],38:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _queue.Monster}});exports.UniqueQueue=void 0;var _queue=require("./queue.js");var _validate=require("./validate.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _get(target,property,receiver){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(receiver)}return desc.value}}return _get(target,property,receiver||target)}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break}return object}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var UniqueQueue=function(_Queue){_inherits(UniqueQueue,_Queue);var _super=_createSuper(UniqueQueue);function UniqueQueue(){var _this;_classCallCheck(this,UniqueQueue);_this=_super.call(this);_this.unique=new WeakSet;return _this}_createClass(UniqueQueue,[{key:"add",value:function add(value){(0,_validate.validateObject)(value);if(!this.unique.has(value)){this.unique.add(value);_get(_getPrototypeOf(UniqueQueue.prototype),"add",this).call(this,value)}return this}},{key:"clear",value:function clear(){_get(_getPrototypeOf(UniqueQueue.prototype),"clear",this).call(this);this.unique=new WeakSet;return this}},{key:"poll",value:function poll(){if(this.isEmpty()){return undefined}var value=this.data.shift();this.unique["delete"](value);return value}}]);return UniqueQueue}(_queue.Queue);exports.UniqueQueue=UniqueQueue;_queue.Monster.assignToNamespace("Monster.Types",UniqueQueue)},{"./queue.js":34,"./validate.js":39}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.validatePrimitive=validatePrimitive;exports.validateBoolean=validateBoolean;exports.validateString=validateString;exports.validateObject=validateObject;exports.validateInstance=validateInstance;exports.validateArray=validateArray;exports.validateFunction=validateFunction;exports.validateIterable=validateIterable;exports.validateInteger=validateInteger;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("./is.js");function validateIterable(value){if(!(0,_is.isIterable)(value)){throw new TypeError("value is not iterable")}return value}function validatePrimitive(value){if(!(0,_is.isPrimitive)(value)){throw new TypeError("value is not a primitive")}return value}function validateBoolean(value){if(!(0,_is.isBoolean)(value)){throw new TypeError("value is not a boolean")}return value}function validateString(value){if(!(0,_is.isString)(value)){throw new TypeError("value is not a string")}return value}function validateObject(value){if(!(0,_is.isObject)(value)){throw new TypeError("value is not a object")}return value}function validateInstance(value,instance){if(!(0,_is.isInstance)(value,instance)){var n="";if((0,_is.isObject)(instance)||(0,_is.isFunction)(instance)){n=instance===null||instance===void 0?void 0:instance["name"]}if(n){n=" "+n}throw new TypeError("value is not an instance of"+n)}return value}function validateArray(value){if(!(0,_is.isArray)(value)){throw new TypeError("value is not an array")}return value}function validateFunction(value){if(!(0,_is.isFunction)(value)){throw new TypeError("value is not a function")}return value}function validateInteger(value){if(!(0,_is.isInteger)(value)){throw new TypeError("value is not an integer")}return value}_namespace.Monster.assignToNamespace("Monster.Types",validatePrimitive,validateBoolean,validateString,validateObject,validateArray,validateFunction,validateIterable,validateInteger)},{"../namespace.js":26,"./is.js":30}],40:[function(require,module,exports){"use strict";function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports.getVersion=getVersion;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});exports.Version=void 0;var _namespace=require("../namespace.js");var _base=require("./base.js");function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Version=function(_Base){_inherits(Version,_Base);var _super=_createSuper(Version);function Version(major,minor,patch){var _this;_classCallCheck(this,Version);_this=_super.call(this);if(typeof major==="string"&&minor===undefined&&patch===undefined){var parts=major.toString().split(".");major=parseInt(parts[0]||0);minor=parseInt(parts[1]||0);patch=parseInt(parts[2]||0)}if(major===undefined){throw new Error("major version is undefined")}if(minor===undefined){minor=0}if(patch===undefined){patch=0}_this.major=parseInt(major);_this.minor=parseInt(minor);_this.patch=parseInt(patch);if(isNaN(_this.major)){throw new Error("major is not a number")}if(isNaN(_this.minor)){throw new Error("minor is not a number")}if(isNaN(_this.patch)){throw new Error("patch is not a number")}return _this}_createClass(Version,[{key:"toString",value:function toString(){return this.major+"."+this.minor+"."+this.patch}},{key:"compareTo",value:function compareTo(version){if(version instanceof Version){version=version.toString()}if(typeof version!=="string"){throw new Error("type exception")}if(version===this.toString()){return 0}var a=[this.major,this.minor,this.patch];var b=version.split(".");var len=Math.max(a.length,b.length);for(var i=0;i<len;i+=1){if(a[i]&&!b[i]&&parseInt(a[i])>0||parseInt(a[i])>parseInt(b[i])){return 1}else if(b[i]&&!a[i]&&parseInt(b[i])>0||parseInt(a[i])<parseInt(b[i])){return-1}}return 0}}]);return Version}(_base.Base);exports.Version=Version;_namespace.Monster.assignToNamespace("Monster.Types",Version);var monsterVersion;function getVersion(){if(monsterVersion instanceof Version){return monsterVersion}monsterVersion=new Version("1.8.0");return monsterVersion}_namespace.Monster.assignToNamespace("Monster",getVersion)},{"../namespace.js":26,"./base.js":27}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.clone=clone;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _is=require("../types/is.js");var _global=require("../types/global.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function clone(obj){if(null===obj){return obj}if((0,_is.isPrimitive)(obj)){return obj}if((0,_is.isFunction)(obj)){return obj}if((0,_is.isArray)(obj)){var copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=clone(obj[i])}return copy}if((0,_is.isObject)(obj)){if(obj instanceof Date){var _copy=new Date;_copy.setTime(obj.getTime());return _copy}if(typeof Element!=="undefined"&&obj instanceof Element)return obj;if(typeof HTMLDocument!=="undefined"&&obj instanceof HTMLDocument)return obj;if(typeof DocumentFragment!=="undefined"&&obj instanceof DocumentFragment)return obj;if(obj===(0,_global.getGlobal)())return obj;if(typeof globalContext!=="undefined"&&obj===globalContext)return obj;if(typeof window!=="undefined"&&obj===window)return obj;if(typeof document!=="undefined"&&obj===document)return obj;if(typeof navigator!=="undefined"&&obj===navigator)return obj;if(typeof JSON!=="undefined"&&obj===JSON)return obj;try{if(obj instanceof Proxy){return obj}}catch(e){}return cloneObject(obj)}throw new Error("unable to clone obj! its type isn't supported.")}function cloneObject(obj){var copy;if(_typeof(obj.hasOwnProperty("getClone"))&&obj.getClone==="function"){return obj.getClone()}copy={};if(typeof obj.constructor==="function"&&typeof obj.constructor.call==="function"){copy=new obj.constructor}for(var key in obj){if(!obj.hasOwnProperty(key)){continue}if(_namespace.Monster.Types.isPrimitive(obj[key])){copy[key]=obj[key];continue}copy[key]=clone(obj[key])}return copy}_namespace.Monster.assignToNamespace("Monster.Util",clone)},{"../namespace.js":26,"../types/global.js":28,"../types/is.js":30}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _base.Monster}});exports.Comparator=void 0;var _base=require("../types/base.js");var _is=require("../types/is.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function")}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});if(superClass)_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){o.__proto__=p;return o};return _setPrototypeOf(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else{result=Super.apply(this,arguments)}return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call}return _assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return self}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true}catch(e){return false}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)};return _getPrototypeOf(o)}var Comparator=function(_Base){_inherits(Comparator,_Base);var _super=_createSuper(Comparator);function Comparator(callback){var _this;_classCallCheck(this,Comparator);_this=_super.call(this);if((0,_is.isFunction)(callback)){_this.compare=callback}else if(callback!==undefined){throw new TypeError("unsupported type")}else{_this.compare=function(a,b){if(_typeof(a)!==_typeof(b)){throw new TypeError("impractical comparison")}if(a===b){return 0}return a<b?-1:1}}return _this}_createClass(Comparator,[{key:"reverse",value:function reverse(){var original=this.compare;this.compare=function(a,b){return original(b,a)};return this}},{key:"equal",value:function equal(a,b){return this.compare(a,b)===0}},{key:"greaterThan",value:function greaterThan(a,b){return this.compare(a,b)>0}},{key:"greaterThanOrEqual",value:function greaterThanOrEqual(a,b){return this.greaterThan(a,b)||this.equal(a,b)}},{key:"lessThanOrEqual",value:function lessThanOrEqual(a,b){return this.lessThan(a,b)||this.equal(a,b)}},{key:"lessThan",value:function lessThan(a,b){return this.compare(a,b)<0}}]);return Comparator}(_base.Base);exports.Comparator=Comparator;_base.Monster.assignToNamespace("Monster.Util",Comparator)},{"../types/base.js":27,"../types/is.js":30}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.deepFreeze=deepFreeze;Object.defineProperty(exports,"Monster",{enumerable:true,get:function get(){return _namespace.Monster}});var _namespace=require("../namespace.js");var _validate=require("../types/validate.js");function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i]}return arr2}function deepFreeze(object){(0,_validate.validateObject)(object);var propNames=Object.getOwnPropertyNames(object);var _iterator=_createForOfIteratorHelper(propNames),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var name=_step.value;var value=object[name];object[name]=value&&_typeof(value)==="object"?deepFreeze(value):value}}catch(err){_iterator.e(err)}finally{_iterator.f()}return Object.freeze(object)}_namespace.Monster.assignToNamespace("Monster.Util",deepFreeze)},{"../namespace.js":26,"../types/validate.js":39}]},{},[25]);
diff --git a/packages/monster/package.json b/packages/monster/package.json
index 5e6738578..5946ee3d6 100644
--- a/packages/monster/package.json
+++ b/packages/monster/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@schukai/monster",
-  "version": "1.7.0",   
+  "version": "1.8.0",   
   "description": "Monster is a simple library for creating fast, robust and lightweight websites.",
   "keywords": [
     "framework",
diff --git a/packages/monster/source/constraints/andoperator.js b/packages/monster/source/constraints/andoperator.js
index d8b4ee71d..f862ea1d0 100644
--- a/packages/monster/source/constraints/andoperator.js
+++ b/packages/monster/source/constraints/andoperator.js
@@ -12,7 +12,7 @@ import {AbstractOperator} from "./abstractoperator.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  * new Monster.Constraint.AndOperator();
  * </script>
  * ```
@@ -21,16 +21,16 @@ import {AbstractOperator} from "./abstractoperator.js";
  *
  * ```
  * <script type="module">
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  * new AndOperator();
  * </script>
  * ```
  * 
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
  *
  * new AndOperator(
  * new Valid(), new Valid()).isValid()
diff --git a/packages/monster/source/constraints/invalid.js b/packages/monster/source/constraints/invalid.js
index 592647412..53eaf9ce4 100644
--- a/packages/monster/source/constraints/invalid.js
+++ b/packages/monster/source/constraints/invalid.js
@@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  * new Monster.Constraint.Invalid();
  * </script>
  * ```
@@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js";
  *
  * ```
  * <script type="module">
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  * new Invalid();
  * </script>
  * ```
  *
  * @example
  *
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
  *
  * new Invalid().isValid()
  * .then(()=>console.log(true))
diff --git a/packages/monster/source/constraints/isarray.js b/packages/monster/source/constraints/isarray.js
index 855a3e861..3591bf22b 100644
--- a/packages/monster/source/constraints/isarray.js
+++ b/packages/monster/source/constraints/isarray.js
@@ -12,7 +12,7 @@ import {isArray} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new Monster.Constraint.IsArray())
  * </script>
  * ```
@@ -21,14 +21,14 @@ import {isArray} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new IsArray())
  * </script>
  * ```
  * 
  * @example
  *
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  *
  * new IsArray()
  * .isValid([])
diff --git a/packages/monster/source/constraints/isobject.js b/packages/monster/source/constraints/isobject.js
index 43695c1b5..e68358b1f 100644
--- a/packages/monster/source/constraints/isobject.js
+++ b/packages/monster/source/constraints/isobject.js
@@ -12,7 +12,7 @@ import {isObject} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new Monster.Constraint.IsObject())
  * </script>
  * ```
@@ -21,14 +21,14 @@ import {isObject} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new IsObject())
  * </script>
  * ```
  * 
  * @example
  *
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  *
  * new IsObject()
  * .isValid({})
diff --git a/packages/monster/source/constraints/oroperator.js b/packages/monster/source/constraints/oroperator.js
index 01824fb66..d29740aca 100644
--- a/packages/monster/source/constraints/oroperator.js
+++ b/packages/monster/source/constraints/oroperator.js
@@ -11,7 +11,7 @@ import {Monster, AbstractOperator} from "./abstractoperator.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
  * new Monster.Constraint.OrOperator();
  * </script>
  * ```
@@ -20,16 +20,16 @@ import {Monster, AbstractOperator} from "./abstractoperator.js";
  *
  * ```
  * <script type="module">
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
  * new OrOperator();
  * </script>
  * ```
  *
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/oroperator.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';
  *
  * new OrOperator(
  * new Valid(), new Invalid()).isValid()
diff --git a/packages/monster/source/constraints/valid.js b/packages/monster/source/constraints/valid.js
index 6ab2a64fb..872508d91 100644
--- a/packages/monster/source/constraints/valid.js
+++ b/packages/monster/source/constraints/valid.js
@@ -13,7 +13,7 @@ import {Monster, AbstractConstraint} from "./abstract.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  * new Monster.Constraint.Valid();
  * </script>
  * ```
@@ -22,14 +22,14 @@ import {Monster, AbstractConstraint} from "./abstract.js";
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  * new Valid();
  * </script>
  * ```
  * 
  * @example
  *
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
  *
  * new Valid().isValid()
  * .then(()=>console.log(true))
diff --git a/packages/monster/source/data/buildmap.js b/packages/monster/source/data/buildmap.js
index 044e4675a..2276de249 100644
--- a/packages/monster/source/data/buildmap.js
+++ b/packages/monster/source/data/buildmap.js
@@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/buildmap.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js';
  * console.log(Monster.Data.buildMap())
  * </script>
  * ```
@@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js";
  *
  * ```
  * <script type="module">
- * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/buildmap.js';
+ * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js';
  * console.log(buildMap())
  * </script>
  * ```
diff --git a/packages/monster/source/data/diff.js b/packages/monster/source/data/diff.js
index f4adf77ac..bb8274857 100644
--- a/packages/monster/source/data/diff.js
+++ b/packages/monster/source/data/diff.js
@@ -16,7 +16,7 @@ import {Monster, isArray, isObject} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Monster.Data.Diff(a, b))
  * </script>
  * ```
@@ -25,14 +25,14 @@ import {Monster, isArray, isObject} from "../types/is.js";
  *
  * ```
  * <script type="module">
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Diff(a, b))
  * </script>
  * ```
  *
  * @example
  * 
- * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * 
  * // given are two objects x and y.
  *
diff --git a/packages/monster/source/data/pathfinder.js b/packages/monster/source/data/pathfinder.js
index f9f9ba86f..fd1ee3a28 100644
--- a/packages/monster/source/data/pathfinder.js
+++ b/packages/monster/source/data/pathfinder.js
@@ -28,7 +28,7 @@ const WILDCARD = '*';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Monster.Data.Pathfinder())
  * </script>
  * ```
@@ -37,7 +37,7 @@ const WILDCARD = '*';
  *
  * ```
  * <script type="module">
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Pathfinder())
  * </script>
  * ```
@@ -79,7 +79,7 @@ const WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  *
  * let value = new Pathfinder({
  * a: {
@@ -105,7 +105,7 @@ const WILDCARD = '*';
  *
  * @example
  *
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  *
  * let p = new Pathfinder({
  *                a: {
diff --git a/packages/monster/source/data/pipe.js b/packages/monster/source/data/pipe.js
index adf1ae010..903e6c638 100644
--- a/packages/monster/source/data/pipe.js
+++ b/packages/monster/source/data/pipe.js
@@ -7,7 +7,7 @@
 import {Monster} from '../namespace.js';
 import {Transformer} from './transformer.js';
 import {Base} from '../types/base.js';
-import {validateString} from '../types/validate.js';
+import {validateFunction, validateString} from '../types/validate.js';
 
 
 const DELIMITER = '|';
@@ -19,7 +19,7 @@ const DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Monster.Data.Pipe())
  * </script>
  * ```
@@ -28,7 +28,7 @@ const DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Pipe())
  * </script>
  * ```
@@ -39,7 +39,7 @@ const DELIMITER = '|';
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
  *
  * @example
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * 
  * let obj = {
  *    a: {
@@ -71,7 +71,31 @@ class Pipe extends Base {
         this.pipe = pipe.split(DELIMITER).map((v) => {
             return new Transformer(v);
         });
+        
 
+    }
+
+    /**
+     *
+     * @param {string} name
+     * @param {function} callback
+     * @returns {Transformer}
+     * @throws {TypeError} value is not a string
+     * @throws {TypeError} value is not a function
+     */
+    setCallback(name, callback) {
+
+        for(const [,t] of Object.entries(this.pipe)) {
+            t.setCallback(name, callback);
+        }
+        
+        return this;
+        
+        // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {
+        //     return transformer.setCallback(name,callback);
+        // }, value);
+        
+        
     }
 
     /**
@@ -81,8 +105,8 @@ class Pipe extends Base {
      * @returns {*}
      */
     run(value) {
-        return this.pipe.reduce((accumulator, currentValue, currentIndex, array) => {
-            return currentValue.run(accumulator);
+        return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {
+            return transformer.run(accumulator);
         }, value);
     }
 }
diff --git a/packages/monster/source/data/transformer.js b/packages/monster/source/data/transformer.js
index 384e1ed2b..bce061935 100644
--- a/packages/monster/source/data/transformer.js
+++ b/packages/monster/source/data/transformer.js
@@ -19,7 +19,7 @@ import {Pathfinder} from "./pathfinder.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Monster.Data.Transformer())
  * </script>
  * ```
@@ -28,7 +28,7 @@ import {Pathfinder} from "./pathfinder.js";
  *
  * ```
  * <script type="module">
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Transformer())
  * </script>
  * ```
@@ -60,6 +60,7 @@ import {Pathfinder} from "./pathfinder.js";
  *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |
  *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |
  *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |
+ *  | tojson       |                            |                         | Type conversion to an JSON string (since 1.8.0)                                                                                                                                                                                                                                                                                                            |
  *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |
  *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |
  *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |
@@ -104,7 +105,7 @@ import {Pathfinder} from "./pathfinder.js";
  * 
  * @example
  * 
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * 
  * const transformer = new Transformer("tolower")
  * 
@@ -267,6 +268,9 @@ function transform(value) {
             let n = parseInt(value);
             validateInteger(n);
             return n
+        
+        case 'tojson':
+            return JSON.stringify(value);
 
         case 'trim':
             validateString(value)
@@ -294,7 +298,7 @@ function transform(value) {
             let callback;
             let callbackName = args.shift();
 
-            if (isObject(value) && calue.hasOwnProperty(callbackName)) {
+            if (isObject(value) && value.hasOwnProperty(callbackName)) {
                 callback = value[callbackName];
             } else if (this.callbacks.has(callbackName)) {
                 callback = this.callbacks.get(callbackName);
diff --git a/packages/monster/source/dom/assembler.js b/packages/monster/source/dom/assembler.js
index a6c2c070a..98ebddedf 100644
--- a/packages/monster/source/dom/assembler.js
+++ b/packages/monster/source/dom/assembler.js
@@ -23,7 +23,7 @@ const ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Monster.DOM.Assembler())
  * </script>
  * ```
@@ -32,7 +32,7 @@ const ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Assembler())
  * </script>
  * ```
diff --git a/packages/monster/source/dom/constants.js b/packages/monster/source/dom/constants.js
new file mode 100644
index 000000000..5bb72d5bf
--- /dev/null
+++ b/packages/monster/source/dom/constants.js
@@ -0,0 +1,92 @@
+'use strict';
+
+import {Monster} from "../namespace.js";
+
+/**
+ * @author schukai GmbH
+ */
+
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+const ATTRIBUTE_PREFIX = 'data-monster-';
+
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+const ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
+
+
+/**
+ * default theme
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+const DEFAULT_THEME = 'monster';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+const ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
+
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+const ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
+
+
+export {
+    Monster,
+    ATTRIBUTE_PREFIX,
+    ATTRIBUTE_OPTIONS,
+    DEFAULT_THEME,
+    ATTRIBUTE_THEME_PREFIX,
+    ATTRIBUTE_THEME_NAME,
+    ATTRIBUTE_UPDATER_ATTRIBUTES,
+    ATTRIBUTE_UPDATER_REPLACE,
+    ATTRIBUTE_UPDATER_INSERT,
+    ATTRIBUTE_UPDATER_INSERT_REFERENCE,
+    ATTRIBUTE_UPDATER_REMOVE
+}
\ No newline at end of file
diff --git a/packages/monster/source/dom/customelement.js b/packages/monster/source/dom/customelement.js
index b16bba3d5..da1f27416 100644
--- a/packages/monster/source/dom/customelement.js
+++ b/packages/monster/source/dom/customelement.js
@@ -4,8 +4,10 @@
  * @author schukai GmbH
  */
 
+import {ATTRIBUTE_OPTIONS} from "./constants.js";
+import {findDocumentTemplate} from "./template.js";
 import {getGlobalObject} from "../types/global.js";
-import {Monster, validateFunction} from "../types/validate.js";
+import {Monster, validateFunction, validateObject, validateString} from "../types/validate.js";
 
 
 /**
@@ -18,7 +20,7 @@ import {Monster, validateFunction} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new Monster.DOM.CustomElement())
  * </script>
  * ```
@@ -27,7 +29,7 @@ import {Monster, validateFunction} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new CustomElement())
  * </script>
  * ```
@@ -50,21 +52,26 @@ import {Monster, validateFunction} from "../types/validate.js";
  * </style>
  * ```
  *
+ *
+ *
  * @example
  *
+ * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.
+ * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.
+ *
  * class MonsterMyElement extends CustomElement {
+ * 
  *    constructor() {
  *        super();
- *
- *        this.template = `<div class="form-check">
+ *    }
+ *    
+ *    getTemplate() {
+ *        return `<div class="form-check">
  *                           <label class="form-check-label">
  *                               <input class="form-check-input" type="checkbox" value="">
  *                               Checkvalue
  *                           </label>
  *                         </div>`
- *
- *        this.attachShadow({mode: 'open'});
- *        this.shadowRoot.innerHTML = this.template;
  *    }
  *
  *    static getTag() {
@@ -84,10 +91,85 @@ import {Monster, validateFunction} from "../types/validate.js";
 class CustomElement extends HTMLElement {
 
     /**
+     * A new object is created. First the `initOptions` method is called. Here the
+     * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.
      *
+     * @throws {Error} the options attribute does not contain a valid json definition.
      */
     constructor() {
         super();
+        this._options = Object.assign({}, this.defaults, getOptionsFromAttributes.call(this));
+        this.init();
+    }
+
+    /**
+     * | option         | description                                                                                                                                                                                                                                                                |
+     * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+     * | shadowMode     | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it                                                                             |
+     * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |
+     *
+     * Derived classes can override and extend this method as follows.
+     *
+     * ```
+     * get defaults() {
+     *    return Object.assign({}, super.defaults, {
+     *        myValue:true
+     *    });
+     * }
+     * ```
+     *
+     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+     * @return {{shadowMode: string, delegatesFocus: boolean}}
+     * @since 1.8.0
+     */
+    get defaults() {
+        return {
+            shadowMode: 'open',
+            delegatesFocus: true
+        };
+    }
+
+    /**
+     *
+     * @param {string} key
+     * @param [*} defaultValue
+     * @return {*}
+     * @since 1.8.0
+     */
+    getOption(key, defaultValue) {
+        validateString(key)
+        let v = this._options?.[key];
+        if (v === undefined) return defaultValue;
+        return v;
+    }
+
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+    init() {
+        initShadowRoot.call(this);
+        return this;
+    }
+
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+    assemble() {
+        return this;
+    }
+
+    /**
+     *
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+    disassemble() {
+        return this;
     }
 
     /**
@@ -97,7 +179,7 @@ class CustomElement extends HTMLElement {
      * @return {void}
      */
     connectedCallback() {
-
+        this.assemble();
     }
 
     /**
@@ -106,7 +188,7 @@ class CustomElement extends HTMLElement {
      * @return {void}
      */
     disconnectedCallback() {
-
+        this.disassemble();
     }
 
     /**
@@ -128,11 +210,23 @@ class CustomElement extends HTMLElement {
      * @return {void}
      */
     attributeChangedCallback(attrName, oldVal, newVal) {
+        this.assemble();
+    }
 
+    /**
+     * This method defines the default template if no template with the id is found in the dom.
+     *
+     * @since 1.8.0
+     * @return {string}
+     * @throws {Error} the method getTemplate must be overwritten by the derived class.
+     */
+    static getTemplate() {
+        throw new Error("the method getTemplate must be overwritten by the derived class.");
     }
 
+
     /**
-     * there is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
+     * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
      * if the name is not valid, registerCustomElement() will issue an erro
      *
      * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
@@ -143,7 +237,63 @@ class CustomElement extends HTMLElement {
         throw new Error("the method getTag must be overwritten by the derived class.");
     }
 
+    /**
+     *
+     * @return {CSSStyleSheet}
+     */
+    static getCSSStyleSheet() {
+        return new CSSStyleSheet();
+    }
+
+
+}
+
+/**
+ * @private
+ * @return {object}
+ * @throws {Error} the options attribute does not contain a valid json definition.
+ */
+function getOptionsFromAttributes() {
+    if (this.hasAttribute(ATTRIBUTE_OPTIONS)) {
+        try {
+            let obj = JSON.parse(this.getAttribute(ATTRIBUTE_OPTIONS))
+            validateObject(obj);
+            return obj;
+        } catch(e) {
+            throw new Error('the options attribute '+ATTRIBUTE_OPTIONS+' does not contain a valid json definition (actual: '+this.getAttribute(ATTRIBUTE_OPTIONS)+').');
+        }
+    }
+
+    return {};
+}
+
+/**
+ * @private
+ * @return {CustomElement}
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+ * @memberOf CustomElement
+ * @since 1.8.0
+ */
+function initShadowRoot() {
+
+    this.attachShadow({
+        mode: this.getOption('shadowMode', 'open'),
+        delegatesFocus: this.getOption('delegatesFocus', true)
+    });
+
+    const styleSheet = this.constructor.getCSSStyleSheet();
+    if (styleSheet instanceof CSSStyleSheet) {
+        this.shadowRoot.adoptedStyleSheets = [styleSheet];
+    }
+
+    try {
+        let template = findDocumentTemplate(this.constructor.getTag());
+        this.shadowRoot.appendChild(template.createDocumentFragment());
+    } catch (e) {
+        this.shadowRoot.innerHTML = this.constructor.getTemplate();
+    }
 
+    return this;
 }
 
 /**
@@ -166,4 +316,4 @@ function registerCustomElement(element) {
 }
 
 Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);
-export {Monster, registerCustomElement, CustomElement}
\ No newline at end of file
+export {Monster, registerCustomElement, CustomElement}
diff --git a/packages/monster/source/dom/handle.js b/packages/monster/source/dom/handle.js
index 6412229f0..9e1079187 100644
--- a/packages/monster/source/dom/handle.js
+++ b/packages/monster/source/dom/handle.js
@@ -25,7 +25,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Monster.DOM.Handle())
  * </script>
  * ```
@@ -34,7 +34,7 @@ const MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Handle())
  * </script>
  * ```
@@ -188,7 +188,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(Monster.DOM.getHandleFromNode())
  * </script>
  * ```
@@ -197,7 +197,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(getHandleFromNode())
  * </script>
  * ```
diff --git a/packages/monster/source/dom/template.js b/packages/monster/source/dom/template.js
index 6ef5c369b..5b429b739 100644
--- a/packages/monster/source/dom/template.js
+++ b/packages/monster/source/dom/template.js
@@ -15,7 +15,7 @@ import {getDocumentTheme} from "./theme.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Monster.DOM.Template())
  * </script>
  * ```
@@ -24,7 +24,7 @@ import {getDocumentTheme} from "./theme.js";
  *
  * ```
  * <script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Template())
  * </script>
  * ```
@@ -74,7 +74,7 @@ class Template extends Base {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(Monster.DOM.findDocumentTemplate())
  * </script>
  * ```
@@ -83,7 +83,7 @@ class Template extends Base {
  *
  * ```
  * <script type="module">
- * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(findDocumentTemplate())
  * </script>
  * ```
diff --git a/packages/monster/source/dom/theme.js b/packages/monster/source/dom/theme.js
index 26153ecfb..482b74dab 100644
--- a/packages/monster/source/dom/theme.js
+++ b/packages/monster/source/dom/theme.js
@@ -7,25 +7,16 @@
 import {Monster, Base} from '../types/base.js';
 import {validateString} from "../types/validate.js";
 import {getGlobalObject} from '../types/global.js';
+import {ATTRIBUTE_THEME_NAME, DEFAULT_THEME} from "./constants.js";
 
-/**
- * default theme
- * @type {string}
- */
-const DEFAULT_THEME = 'monster';
 
-/**
- * @private
- * @type {string}
- */
-const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
 
 /**
  * You can call the method via the monster namespace `new Monster.DOM.Theme()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  * console.log(new Monster.DOM.Theme())
  * </script>
  * ```
@@ -34,14 +25,14 @@ const THEME_ATTRIBUTE_NAME = 'data-monster-theme-name';
  *
  * ```
  * <script type="module">
- * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  * console.log(new Theme())
  * </script>
  * ```
  * 
  * @example
  *
- * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/theme.js';
+ * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
  *
  * const theme = getDocumentTheme();
  * console.log(theme.getName());
@@ -95,7 +86,7 @@ function getDocumentTheme() {
 
     let element = document.querySelector('html');
     if (element instanceof HTMLElement) {
-        let theme = element.getAttribute(THEME_ATTRIBUTE_NAME);
+        let theme = element.getAttribute(ATTRIBUTE_THEME_NAME);
         if (theme) {
             name = theme;
         }
diff --git a/packages/monster/source/dom/updater.js b/packages/monster/source/dom/updater.js
new file mode 100644
index 000000000..9f534b18b
--- /dev/null
+++ b/packages/monster/source/dom/updater.js
@@ -0,0 +1,430 @@
+'use strict';
+
+import {Pipe} from "../data/pipe.js";
+import {Base, Monster} from "../types/base.js";
+import {isInstance, isArray} from "../types/is.js";
+import {Observer} from "../types/observer.js";
+import {ProxyObserver} from "../types/proxyobserver.js";
+import {validateInstance} from "../types/validate.js";
+import {clone} from "../util/clone.js";
+import {Diff} from "../data/diff.js";
+import {
+    ATTRIBUTE_UPDATER_REPLACE,
+    ATTRIBUTE_UPDATER_ATTRIBUTES,
+    ATTRIBUTE_UPDATER_INSERT,
+    ATTRIBUTE_UPDATER_REMOVE,
+    ATTRIBUTE_UPDATER_INSERT_REFERENCE
+} from "../dom/constants.js";
+import {getDocument} from "./util.js";
+
+/**
+ * @author schukai GmbH
+ */
+
+
+/**
+ * The updater class connects an object with the dom. in this way, structures and contents in the DOM can be programmatically adapted via attributes.
+ * 
+ * For example, to include a string from an object, the attribute `data-monster-replace` can be used.
+ * 
+ * you can call the method via the monster namespace `new Monster.DOM.Updater()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+ * console.log(new Monster.DOM.Updater())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+ * console.log(new Updater())
+ * </script>
+ * ```
+ *
+ * @example
+ * 
+ * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+ *
+ * // First we prepare the html document.
+ * // This is done here via script, but can also be inserted into the document as pure html. 
+ * // To do this, simply insert the tag <h1 data-monster-replace="path:headline"></h1>.
+ * const body = document.querySelector('body');
+ * const headline = document.createElement('h1');
+ * headline.setAttribute('data-monster-replace','path:headline')
+ * body.appendChild(headline);
+ *
+ * // the data structure
+ * let obj = {
+ *    headline: "Hello World",
+ * };
+ *
+ * // Now comes the real magic. we pass the updater the parent HTMLElement
+ * // and the desired data structure.
+ * new Updater(body, obj).run();
+ * 
+ * // Now you can change the data structure and the HTML will follow these changes.
+ * obj['headline'] = "Hello World!" 
+ *
+ * @since 1.8.0
+ * @copyright schukai GmbH
+ * @memberOf Monster/DOM
+ * @throws {Error} the value is not iterable
+ * @throws {Error} pipes are not allowed when cloning a node.
+ * @throws {Error} no template was found with the specified key.
+ * @throws {Error} the maximum depth for the recursion is reached.
+ * @throws {TypeError} value is not a object
+ * @throws {TypeError} value is not an instance of HTMLElement
+ */
+class Updater extends Base {
+
+    /**
+     * @since 1.8.0
+     * @param {HTMLElement} element
+     * @param {object|ProxyObserver} subject
+     * @throws {TypeError} value is not a object
+     * @throws {TypeError} value is not an instance of HTMLElement
+     */
+    constructor(element, subject) {
+        super();
+
+        /**
+         * @type {HTMLElement}
+         */
+        this.element = validateInstance(element, HTMLElement);
+
+        if (!isInstance(subject, ProxyObserver)) {
+            subject = new ProxyObserver(subject);
+        }
+
+        this.last = {};
+        this.callbacks = new Map();
+
+        /**
+         * @type {object}
+         */
+        this.subject = subject.attachObserver(new Observer(() => {
+            const s = this.subject.getRealSubject();
+            const diff = Diff(this.last, s)
+            this.last = clone(s);
+
+            for (const [, change] of Object.entries(diff)) {
+                removeElement.call(this, change);
+                insertElement.call(this, change);
+                updateContent.call(this, change);
+                updateAttributes.call(this, change);
+            }
+        }));
+
+
+    }
+
+    /**
+     *
+     * @return {Promise}
+     */
+    run() {
+        this.last = {};
+        return this.subject.notifyObservers();
+    }
+
+    /**
+     * @since 1.8.0
+     * @return {ProxyObserver}
+     */
+    getSubject() {
+        return this.subject.getSubject();
+    }
+
+    /**
+     *
+     * @param {string} name
+     * @param {function} callback
+     * @returns {Transformer}
+     * @throws {TypeError} value is not a string
+     * @throws {TypeError} value is not a function
+     */
+    setCallback(name, callback) {
+        this.callbacks.set(name, callback);
+        return this;
+    }
+
+}
+
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ */
+function removeElement(change) {
+    for (const [, element] of this.element.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_REMOVE + ']').entries()) {
+        element.parentNode.removeChild(element);
+    }
+    return this;
+}
+
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ * @throws {Error} the value is not iterable
+ * @throws {Error} pipes are not allowed when cloning a node.
+ * @throws {Error} no template was found with the specified key.
+ * @throws {Error} the maximum depth for the recursion is reached.
+ */
+function insertElement(change) {
+    const self = this;
+    const subject = self.subject.getRealSubject();
+    const document = getDocument();
+
+    let mem = new WeakSet;
+    let wd=0;
+
+
+    while (true) {
+        let found=false;
+        wd++;
+
+        let p = clone(change?.['path']);
+        if (!isArray(p)) return this;
+
+        while (p.length > 0) {
+            const current = p.join('.');
+            const list = this.element.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_INSERT + '*="path:' + current + '"]').entries()
+            
+            for (const [, containerElement] of list) {
+                
+
+                if (mem.has(containerElement)) continue;
+                mem.add(containerElement)
+
+                found=true;
+                
+                const attributes = containerElement.getAttribute(ATTRIBUTE_UPDATER_INSERT);
+                let def = attributes.trim();
+                let i = def.indexOf(' ');
+                let key = def.substr(0, i).trim();
+                let refPrefix = key + '-';
+                let cmd = def.substr(i).trim();
+
+                if (cmd.indexOf('|') > 0) {
+                    throw new Error("pipes are not allowed when cloning a node.");
+                }
+
+                let pipe = new Pipe(cmd);
+                this.callbacks.forEach((f, n) => {
+                    pipe.setCallback(n, f);
+                })
+
+                let value = pipe.run(subject)
+                let dataPath = cmd.split(':').pop();
+
+                let insertPoint;
+                if (containerElement.hasChildNodes()) {
+                    insertPoint = containerElement.lastChild;
+                }
+
+                if (!isArray(value)) {
+                    throw new Error('the value is not iterable');
+                }
+
+                let available = new Set;
+
+                for (const [i, obj] of Object.entries(value)) {
+                    let ref = refPrefix + i;
+                    let currentPath = dataPath + "." + i;
+
+                    available.add(ref);
+                    let refElement = containerElement.querySelector('[' + ATTRIBUTE_UPDATER_INSERT_REFERENCE + '="' + ref + '"]');
+
+                    if (refElement instanceof HTMLElement) {
+                        insertPoint = refElement;
+                        continue;
+                    }
+
+                    appendNewDocumentFragment(containerElement, key, ref, currentPath);
+                }
+
+                let nodes = containerElement.querySelectorAll('[' + ATTRIBUTE_UPDATER_INSERT_REFERENCE + '*="' + refPrefix + '"]');
+                for (const [, node] of Object.entries(nodes)) {
+                    if (!available.has(node.getAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE))) {
+                        containerElement.removeChild(node);
+                    }
+                }
+            }
+
+            p.pop();
+        }
+        
+        if(found===false) break;
+        if(wd++>200) {
+            throw new Error('the maximum depth for the recursion is reached.');
+        };
+        
+    }
+
+
+}
+
+/**
+ *
+ * @private
+ * @since 1.8.0
+ * @param {HTMLElement} container
+ * @param {string} key
+ * @param {string} ref
+ * @param {string} path
+ * @throws {Error} no template was found with the specified key.
+ */
+function appendNewDocumentFragment(container, key, ref, path) {
+
+    let template = getDocument().querySelector("template#" + key)
+    if (!(template instanceof HTMLTemplateElement)) {
+        throw new Error("no template was found with the specified key " + key)
+    }
+
+    let nodes = template.content.cloneNode(true);
+    for (const [, node] of Object.entries(nodes.childNodes)) {
+        if (node instanceof HTMLElement) {
+            node.setAttribute(ATTRIBUTE_UPDATER_INSERT_REFERENCE, ref);
+
+            if (node.hasAttribute(ATTRIBUTE_UPDATER_REPLACE)) {
+                let value = node.getAttribute(ATTRIBUTE_UPDATER_REPLACE);
+                node.setAttribute(ATTRIBUTE_UPDATER_REPLACE, value.replace("path:" + key, "path:" + path));
+            }
+
+        }
+
+        container.appendChild(node);
+    }
+}
+
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ */
+function updateContent(change) {
+    const self = this;
+    const subject = self.subject.getRealSubject();
+
+    let p = clone(change?.['path']);
+    runUpdateContent.call(this, this.element, p, subject);
+    return this;
+}
+
+/**
+ *
+ * @private
+ * @since 1.8.0
+ * @param {HTMLElement} container
+ * @param {array} parts
+ * @param {object} subject
+ * @return {void}
+ */
+function runUpdateContent(container, parts, subject) {
+    if (!isArray(parts)) return;
+    parts = clone(parts);
+
+    let mem = new WeakSet;
+
+    while (parts.length > 0) {
+        const current = parts.join('.');
+        parts.pop();
+
+        // Unfortunately, static data is always changed as well, since it is not possible to react to changes here.
+        for (const [, element] of container.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_REPLACE + '^="path:' + current + '"], [' + ATTRIBUTE_UPDATER_REPLACE + '^="static:"]').entries()) {
+
+            if (mem.has(element)) continue;
+            mem.add(element)
+
+            const attributes = element.getAttribute(ATTRIBUTE_UPDATER_REPLACE)
+            let cmd = attributes.trim();
+
+            let pipe = new Pipe(cmd);
+            this.callbacks.forEach((f, n) => {
+                pipe.setCallback(n, f);
+            })
+
+            let value = pipe.run(subject)
+
+            if (value instanceof HTMLElement) {
+                while (element.firstChild) {
+                    element.removeChild(element.firstChild);
+                }
+                element.addNode(value);
+            } else {
+                element.innerHTML = value;
+            }
+
+        }
+    }
+
+}
+
+/**
+ * @private
+ * @since 1.8.0
+ * @param {string} path
+ * @param {object} change
+ * @return {Updater}
+ */
+function updateAttributes(change) {
+    const self = this;
+    const subject = self.subject.getRealSubject();
+
+    let p = clone(change?.['path']);
+    runUpdateAttributes(this.element, p, subject);
+    return this;
+}
+
+/**
+ * @private
+ * @param {HTMLElement} container
+ * @param {array} parts
+ * @param {object} subject
+ * @return {void}
+ */
+function runUpdateAttributes(container, parts, subject) {
+
+    if (!isArray(parts)) return;
+    parts = clone(parts);
+
+    let mem = new WeakSet;
+
+    while (parts.length > 0) {
+        const current = parts.join('.');
+        parts.pop();
+
+        for (const [, element] of container.querySelectorAll(':scope [' + ATTRIBUTE_UPDATER_ATTRIBUTES + '*="path:' + current + '"]').entries()) {
+
+            if (mem.has(element)) continue;
+            mem.add(element)
+
+            const attributes = element.getAttribute(ATTRIBUTE_UPDATER_ATTRIBUTES)
+
+            for (let [, def] of Object.entries(attributes.split(','))) {
+                def = def.trim();
+                let i = def.indexOf(' ');
+                let name = def.substr(0, i).trim();
+                let cmd = def.substr(i).trim();
+
+                let value = new Pipe(cmd).run(subject)
+                if (element.getAttribute(name) !== value) {
+                    element.setAttribute(name, value);
+                }
+            }
+        }
+
+    }
+
+}
+
+Monster.assignToNamespace('Monster.DOM', Updater);
+export {Monster, Updater}
\ No newline at end of file
diff --git a/packages/monster/source/dom/util.js b/packages/monster/source/dom/util.js
index ef59d3cee..06dede3a8 100644
--- a/packages/monster/source/dom/util.js
+++ b/packages/monster/source/dom/util.js
@@ -13,7 +13,7 @@ import {validateString} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocument())
  * </script>
  * ```
@@ -22,7 +22,7 @@ import {validateString} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocument())
  * </script>
  * ```
@@ -74,7 +74,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getWindow())
  * </script>
  * ```
@@ -83,7 +83,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getWindow(null))
  * </script>
  * ```
@@ -140,7 +140,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocumentFragmentFromString())
  * </script>
  * ```
@@ -149,7 +149,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocumentFragmentFromString('<div></div>'))
  * </script>
  * ```
diff --git a/packages/monster/source/logging/handler.js b/packages/monster/source/logging/handler.js
index db7430bc1..fbda2b01f 100644
--- a/packages/monster/source/logging/handler.js
+++ b/packages/monster/source/logging/handler.js
@@ -15,7 +15,7 @@ import {validateInstance, validateInteger} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Monster.Logging.Handler())
  * </script>
  * ```
@@ -24,7 +24,7 @@ import {validateInstance, validateInteger} from "../types/validate.js";
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Handler())
  * </script>
  * ```
diff --git a/packages/monster/source/logging/handler/console.js b/packages/monster/source/logging/handler/console.js
index d7e61ed7b..17f6d2bb8 100644
--- a/packages/monster/source/logging/handler/console.js
+++ b/packages/monster/source/logging/handler/console.js
@@ -13,7 +13,7 @@ import {Handler} from '../../logging/handler.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
  * console.log(new Monster.Logging.Handler.ConsoleHandler())
  * </script>
  * ```
@@ -22,7 +22,7 @@ import {Handler} from '../../logging/handler.js';
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler/console.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler/console.js';
  * console.log(new ConsoleHandler())
  * </script>
  * ```
diff --git a/packages/monster/source/logging/logentry.js b/packages/monster/source/logging/logentry.js
index 4f7278477..f764f5d04 100644
--- a/packages/monster/source/logging/logentry.js
+++ b/packages/monster/source/logging/logentry.js
@@ -14,7 +14,7 @@ import {Base} from  '../types/base.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new Monster.Logging.LogEntry())
  * </script>
  * ```
@@ -23,7 +23,7 @@ import {Base} from  '../types/base.js';
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new LogEntry())
  * </script>
  * ```
diff --git a/packages/monster/source/logging/logger.js b/packages/monster/source/logging/logger.js
index cb2d1800f..c66c8d528 100644
--- a/packages/monster/source/logging/logger.js
+++ b/packages/monster/source/logging/logger.js
@@ -65,7 +65,7 @@ const OFF = 0;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Monster.Logging.Logger())
  * </script>
  * ```
@@ -74,7 +74,7 @@ const OFF = 0;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Logger())
  * </script>
  * ```
diff --git a/packages/monster/source/math/random.js b/packages/monster/source/math/random.js
index 5f5d950b9..4d40cf914 100644
--- a/packages/monster/source/math/random.js
+++ b/packages/monster/source/math/random.js
@@ -15,7 +15,7 @@ import {Monster, getGlobal} from '../types/global.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(Monster.Math.random(1,10)) // ↦ 5
  * </script>
  * ```
@@ -24,7 +24,7 @@ import {Monster, getGlobal} from '../types/global.js';
  *
  * ```
  * <script type="module">
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(random(1,10)) // ↦ 5
  * </script>
  * ```
diff --git a/packages/monster/source/namespace.js b/packages/monster/source/namespace.js
index 36823ce5d..e65d6f718 100644
--- a/packages/monster/source/namespace.js
+++ b/packages/monster/source/namespace.js
@@ -69,7 +69,7 @@ assignToNamespace('Monster', assignToNamespace);
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';
  * function hello() {
  *            console.log('Hello World!');
  *        }
diff --git a/packages/monster/source/types/base.js b/packages/monster/source/types/base.js
index ab5852beb..967d79055 100644
--- a/packages/monster/source/types/base.js
+++ b/packages/monster/source/types/base.js
@@ -14,7 +14,7 @@ import {Monster} from '../namespace.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Monster.Types.Base())
  * console.log(new Monster.Types.Base())
  * </script>
@@ -24,7 +24,7 @@ import {Monster} from '../namespace.js';
  *
  * ```
  * <script type="module">
- * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Base())
  * console.log(new Base())
  * </script>
diff --git a/packages/monster/source/types/global.js b/packages/monster/source/types/global.js
index bf623caaa..0dc726dce 100644
--- a/packages/monster/source/types/global.js
+++ b/packages/monster/source/types/global.js
@@ -56,7 +56,7 @@ function getGlobal() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -65,7 +65,7 @@ function getGlobal() {
  *
  * ```
  * <script type="module">
- * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -93,7 +93,7 @@ function getGlobalObject(name) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
@@ -102,7 +102,7 @@ function getGlobalObject(name) {
  *
  * ```
  * <script type="module">
- * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
diff --git a/packages/monster/source/types/id.js b/packages/monster/source/types/id.js
index 8ef54ce37..053a38b27 100644
--- a/packages/monster/source/types/id.js
+++ b/packages/monster/source/types/id.js
@@ -24,7 +24,7 @@ let internalCounter = new Map;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new Monster.Types.ID())
  * </script>
  * ```
@@ -33,7 +33,7 @@ let internalCounter = new Map;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new ID())
  * </script>
  * ```
diff --git a/packages/monster/source/types/is.js b/packages/monster/source/types/is.js
index ba7d7a341..065cc2453 100644
--- a/packages/monster/source/types/is.js
+++ b/packages/monster/source/types/is.js
@@ -13,7 +13,7 @@ import {Monster} from '../namespace.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isIterable(null)) // ↦ false
  * console.log(Monster.Types.isIterable('hello')) // ↦ true
  * console.log(Monster.Types.isIterable([])) // ↦ true
@@ -24,7 +24,7 @@ import {Monster} from '../namespace.js';
  *
  * ```
  * <script type="module">
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isIterable(null))  // ↦ false
  * console.log(isIterable('hello'))  // ↦ true
  * console.log(isIterable([]))  // ↦ true
@@ -51,7 +51,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isPrimitive('2')) // ↦ false
  * console.log(Monster.Types.isPrimitive([])) // ↦ true
  * </script>
@@ -61,7 +61,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isPrimitive('2'))  // ↦ true
  * console.log(isPrimitive([]))  // ↦ false
  * </script>
@@ -96,7 +96,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isBoolean('2')) // ↦ false
  * console.log(Monster.Types.isBoolean([])) // ↦ false
  * console.log(Monster.Types.isBoolean(true)) // ↦ true
@@ -107,7 +107,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isBoolean('2'))  // ↦ false
  * console.log(isBoolean([]))  // ↦ false
  * console.log(isBoolean(2>4))  // ↦ true
@@ -136,7 +136,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isString('2')) // ↦ true
  * console.log(Monster.Types.isString([])) // ↦ false
  * </script>
@@ -146,7 +146,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isString('2'))  // ↦ true
  * console.log(isString([]))  // ↦ false
  * </script>
@@ -172,7 +172,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isObject('2')) // ↦ false
  * console.log(Monster.Types.isObject([])) // ↦ false
  * console.log(Monster.Types.isObject({})) // ↦ true
@@ -183,7 +183,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isObject('2'))  // ↦ false
  * console.log(isObject([]))  // ↦ false
  * </script>
@@ -214,7 +214,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInstance('2')) // ↦ false
  * console.log(Monster.Types.isInstance([])) // ↦ false
  * console.log(Monster.Types.isInstance({})) // ↦ true
@@ -225,7 +225,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInstance('2'))  // ↦ false
  * console.log(isInstance([]))  // ↦ false
  * </script>
@@ -254,7 +254,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isArray('2')) // ↦ false
  * console.log(Monster.Types.isArray([])) // ↦ true
  * </script>
@@ -264,7 +264,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isArray('2'))  // ↦ false
  * console.log(isArray([]))  // ↦ true
  * </script>
@@ -290,7 +290,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isFunction(()=>{})) // ↦ true
  * console.log(Monster.Types.isFunction('2')) // ↦ false
  * console.log(Monster.Types.isFunction([])) // ↦ false
@@ -301,7 +301,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isFunction(()=>{})) // ↦ true
  * console.log(isFunction('2'))  // ↦ false
  * console.log(isFunction([]))  // ↦ false
@@ -333,7 +333,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInteger(()=>{})) // ↦ true
  * console.log(Monster.Types.isInteger('2')) // ↦ false
  * console.log(Monster.Types.isInteger(2)) // ↦ true
@@ -344,7 +344,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInteger(()=>{})) // ↦ true
  * console.log(isInteger('2'))  // ↦ false
  * console.log(isInteger(2))  // ↦ true
diff --git a/packages/monster/source/types/observer.js b/packages/monster/source/types/observer.js
index 76bd2a8d2..dce4452b9 100644
--- a/packages/monster/source/types/observer.js
+++ b/packages/monster/source/types/observer.js
@@ -17,7 +17,7 @@ import {UniqueQueue} from './uniquequeue.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  * console.log(new Monster.Types.Observer())
  * </script>
  * ```
@@ -26,7 +26,7 @@ import {UniqueQueue} from './uniquequeue.js';
  *
  * ```
  * <script type="module">
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  * console.log(new Observer())
  * </script>
  * ```
@@ -60,7 +60,7 @@ import {UniqueQueue} from './uniquequeue.js';
  *
  * @example
  *
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  *
  * const observer = new Observer(function(a, b, c) {
  *      console.log(this, a, b, c); // ↦ "a", 2, true 
@@ -148,22 +148,27 @@ class Observer extends Base {
 
             setTimeout(() => {
 
-                // the queue and the settimeout ensure that an object is not 
-                // informed of the same change more than once.
-                if (self.queue.isEmpty()) {
-                    resolve();
-                    return;
-                }
+                try {
+                    // the queue and the settimeout ensure that an object is not 
+                    // informed of the same change more than once.
+                    if (self.queue.isEmpty()) {
+                        resolve();
+                        return;
+                    }
 
-                let s = self.queue.poll();
-                let result = self.callback.apply(s, self.arguments);
+                    let s = self.queue.poll();
+                    let result = self.callback.apply(s, self.arguments);
 
-                if (isObject(result) && result instanceof Promise) {
-                    result.then(resolve).catch(reject);
-                    return;
-                }
+                    if (isObject(result) && result instanceof Promise) {
+                        result.then(resolve).catch(reject);
+                        return;
+                    }
 
-                resolve(result);
+                    resolve(result);
+
+                } catch (e) {
+                    reject(e);
+                }
             }, 0)
 
         });
diff --git a/packages/monster/source/types/observerlist.js b/packages/monster/source/types/observerlist.js
index 0657b6460..70a2aff65 100644
--- a/packages/monster/source/types/observerlist.js
+++ b/packages/monster/source/types/observerlist.js
@@ -16,7 +16,7 @@ import {validateInstance} from "./validate.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(new Monster.Types.ObserverList())
  * console.log(new Monster.Types.ObserverList())
  * </script>
@@ -26,7 +26,7 @@ import {validateInstance} from "./validate.js";
  *
  * ```
  * <script type="module">
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(ObserverList())
  * console.log(ObserverList())
  * </script>
diff --git a/packages/monster/source/types/proxyobserver.js b/packages/monster/source/types/proxyobserver.js
index 96c726c07..cf941363e 100644
--- a/packages/monster/source/types/proxyobserver.js
+++ b/packages/monster/source/types/proxyobserver.js
@@ -12,13 +12,13 @@ import {Observer} from "./observer.js";
 import {isObject, isArray, isPrimitive} from "./is.js";
 
 /**
- * an observer manages a callback function
+ * An observer manages a callback function
  *
- * you can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
+ * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new Monster.Types.ProxyObserver())
  * </script>
  * ```
@@ -27,7 +27,7 @@ import {isObject, isArray, isPrimitive} from "./is.js";
  *
  * ```
  * <script type="module">
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new ProxyObserver())
  * </script>
  * ```
@@ -38,9 +38,9 @@ import {isObject, isArray, isPrimitive} from "./is.js";
  *
  * @example 
  *
- * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * 
  * const o = new Observer(function () { 
  *   if (isObject(this) && this instanceof ProxyObserver) {
@@ -132,11 +132,10 @@ class ProxyObserver extends Base {
     /**
      * notify all observer
      *
-     * @returns {ProxyObserver}
+     * @returns {Promise}
      */
     notifyObservers() {
-        this.observers.notify(this);
-        return this;
+        return this.observers.notify(this);
     }
 
     /**
diff --git a/packages/monster/source/types/queue.js b/packages/monster/source/types/queue.js
index 3c9aad953..d1b10ec23 100644
--- a/packages/monster/source/types/queue.js
+++ b/packages/monster/source/types/queue.js
@@ -5,7 +5,7 @@ import {Monster, Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Monster.Types.Queue())
  * </script>
  * ```
@@ -14,14 +14,14 @@ import {Monster, Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Queue())
  * </script>
  * ```
  * 
  * @example
  *
- * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  *
  * const queue = new Queue;
  *
diff --git a/packages/monster/source/types/randomid.js b/packages/monster/source/types/randomid.js
index a50bd45e0..be3da50a3 100644
--- a/packages/monster/source/types/randomid.js
+++ b/packages/monster/source/types/randomid.js
@@ -19,7 +19,7 @@ let internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new Monster.Types.RandomID())
  * </script>
  * ```
@@ -28,7 +28,7 @@ let internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new RandomID())
  * </script>
  * ```
diff --git a/packages/monster/source/types/stack.js b/packages/monster/source/types/stack.js
index 7fa70297b..03c32edea 100644
--- a/packages/monster/source/types/stack.js
+++ b/packages/monster/source/types/stack.js
@@ -5,7 +5,7 @@ import {Monster, Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Monster.Types.Stack())
  * </script>
  * ```
@@ -14,7 +14,7 @@ import {Monster, Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Stack())
  * </script>
  * ```
diff --git a/packages/monster/source/types/tokenlist.js b/packages/monster/source/types/tokenlist.js
index c894a4bd5..6d028407c 100644
--- a/packages/monster/source/types/tokenlist.js
+++ b/packages/monster/source/types/tokenlist.js
@@ -18,7 +18,7 @@ import {validateString, validateFunction} from '../types/validate.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new Monster.Types.TokenList("myclass row"))
  * console.log(new Monster.Types.TokenList("myclass row"))
  * </script>
@@ -28,7 +28,7 @@ import {validateString, validateFunction} from '../types/validate.js';
  *
  * ```
  * <script type="module">
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new TokenList("myclass row"))
  * console.log(new TokenList("myclass row"))
  * </script>
diff --git a/packages/monster/source/types/typeof.js b/packages/monster/source/types/typeof.js
index 6038e9056..b218d80f4 100644
--- a/packages/monster/source/types/typeof.js
+++ b/packages/monster/source/types/typeof.js
@@ -14,7 +14,7 @@ import {Monster} from "../namespace.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
  * console.log(Monster.Types.typeOf())
  * </script>
  * ```
@@ -23,14 +23,14 @@ import {Monster} from "../namespace.js";
  *
  * ```
  * <script type="module">
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
  * console.log(typeOf())
  * </script>
  * ```
  *
  * @example
  *
- * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/typeof.js';
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
  *
  * console.log(typeOf(undefined)); // ↦ undefined
  * console.log(typeOf("")); // ↦ string
diff --git a/packages/monster/source/types/uniquequeue.js b/packages/monster/source/types/uniquequeue.js
index 66b42f0b3..8b7a42661 100644
--- a/packages/monster/source/types/uniquequeue.js
+++ b/packages/monster/source/types/uniquequeue.js
@@ -6,7 +6,7 @@ import {validateObject} from "./validate.js";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new Monster.Types.UniqueQueue())
  * </script>
  * ```
@@ -15,7 +15,7 @@ import {validateObject} from "./validate.js";
  *
  * ```
  * <script type="module">
- * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new UniqueQueue())
  * </script>
  * ```
diff --git a/packages/monster/source/types/validate.js b/packages/monster/source/types/validate.js
index f8f822f54..a99fc9b06 100644
--- a/packages/monster/source/types/validate.js
+++ b/packages/monster/source/types/validate.js
@@ -24,7 +24,7 @@ import {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
  * console.log(Monster.Types.validateIterable([])) // ↦ undefined
  * </script>
@@ -34,14 +34,14 @@ import {
  *
  * ```
  * <script type="module">
- * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateIterable('2'))  // ↦ TypeError
  * console.log(validateIterable([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -54,6 +54,7 @@ function validateIterable(value) {
     if (!isIterable(value)) {
         throw new TypeError('value is not iterable')
     }
+    return value
 }
 
 /**
@@ -63,7 +64,7 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined
  * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
  * </script>
@@ -73,14 +74,14 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validatePrimitive('2'))  // ↦ undefined
  * console.log(validatePrimitive([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -93,6 +94,7 @@ function validatePrimitive(value) {
     if (!isPrimitive(value)) {
         throw new TypeError('value is not a primitive')
     }
+    return value
 }
 
 /**
@@ -102,7 +104,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined
  * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
  * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
@@ -113,7 +115,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateBoolean(false))  // ↦ undefined
  * console.log(validateBoolean('2'))  // ↦ TypeError
  * console.log(validateBoolean([]))  // ↦ TypeError
@@ -121,7 +123,7 @@ function validatePrimitive(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -132,6 +134,7 @@ function validateBoolean(value) {
     if (!isBoolean(value)) {
         throw new TypeError('value is not a boolean')
     }
+    return value
 }
 
 /**
@@ -141,7 +144,7 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateString('2')) // ↦ undefined
  * console.log(Monster.Types.validateString([])) // ↦ TypeError
  * </script>
@@ -151,14 +154,14 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateString('2'))  // ↦ undefined
  * console.log(validateString([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -168,6 +171,7 @@ function validateString(value) {
     if (!isString(value)) {
         throw new TypeError('value is not a string')
     }
+    return value
 }
 
 
@@ -178,7 +182,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateObject({})) // ↦ undefined
  * console.log(Monster.Types.validateObject('2')) // ↦ TypeError
  * console.log(Monster.Types.validateObject([])) // ↦ TypeError
@@ -189,7 +193,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateObject({}))  // ↦ undefined
  * console.log(validateObject('2'))  // ↦ TypeError
  * console.log(validateObject([]))  // ↦ TypeError
@@ -197,7 +201,7 @@ function validateString(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -207,6 +211,7 @@ function validateObject(value) {
     if (!isObject(value)) {
         throw new TypeError('value is not a object')
     }
+    return value
 }
 
 /**
@@ -216,7 +221,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined
  * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
  * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
@@ -227,7 +232,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInstance({}, Object)) // ↦ undefined
  * console.log(validateInstance('2', Object)) // ↦ TypeError
  * console.log(validateInstance([], Object)) // ↦ TypeError
@@ -235,7 +240,7 @@ function validateObject(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -254,6 +259,7 @@ function validateInstance(value, instance) {
 
         throw new TypeError('value is not an instance of' + n)
     }
+    return value
 }
 
 /**
@@ -263,7 +269,7 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateArray('2')) // ↦ TypeError
  * console.log(Monster.Types.validateArray([])) // ↦ undefined
  * </script>
@@ -273,14 +279,14 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateArray('2'))  // ↦ TypeError
  * console.log(validateArray([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -290,6 +296,7 @@ function validateArray(value) {
     if (!isArray(value)) {
         throw new TypeError('value is not an array')
     }
+    return value
 }
 
 /**
@@ -299,7 +306,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined
  * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
  * console.log(Monster.Types.validateFunction([])) // ↦ TypeError
@@ -310,7 +317,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateFunction(()=>{})) // ↦ undefined
  * console.log(validateFunction('2'))  // ↦ TypeError
  * console.log(validateFunction([]))  // ↦ TypeError
@@ -318,7 +325,7 @@ function validateArray(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -328,6 +335,7 @@ function validateFunction(value) {
     if (!isFunction(value)) {
         throw new TypeError('value is not a function')
     }
+    return value
 }
 
 /**
@@ -337,7 +345,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
  * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
  * console.log(Monster.Types.validateInteger(2)) // ↦ undefined
@@ -348,7 +356,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInteger(true)) // ↦ TypeError
  * console.log(validateInteger('2'))  // ↦ TypeError
  * console.log(validateInteger(2))  // ↦ undefined
@@ -356,7 +364,7 @@ function validateFunction(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -366,6 +374,7 @@ function validateInteger(value) {
     if (!isInteger(value)) {
         throw new TypeError('value is not an integer')
     }
+    return value
 }
 
 Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);
diff --git a/packages/monster/source/types/version.js b/packages/monster/source/types/version.js
index f300b7ce1..1ca484c53 100644
--- a/packages/monster/source/types/version.js
+++ b/packages/monster/source/types/version.js
@@ -10,7 +10,7 @@ import {Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
  * </script>
@@ -20,7 +20,7 @@ import {Base} from './base.js';
  *
  * ```
  * <script type="module">
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Version('1')) // ↦ 1.0.0
  * </script>
@@ -28,7 +28,7 @@ import {Base} from './base.js';
  *
  * @example
  *
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  *
  * new Version('1.0.0') // ↦ 1.0.0
  * new Version(1)  // ↦ 1.0.0
@@ -150,7 +150,7 @@ let monsterVersion;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(Monster.getVersion())
  * console.log(Monster.getVersion())
  * </script>
@@ -160,7 +160,7 @@ let monsterVersion;
  *
  * ```
  * <script type="module">
- * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(getVersion())
  * console.log(getVersion())
  * </script>
@@ -177,7 +177,7 @@ function getVersion() {
         return monsterVersion;
     }
     /**#@+ dont touch, replaced by make with package.json version */
-    monsterVersion = new Version('1.7.0')
+    monsterVersion = new Version('1.8.0')
     /**#@-*/
     return monsterVersion;
 
diff --git a/packages/monster/source/util/clone.js b/packages/monster/source/util/clone.js
index 350837439..d96b49057 100644
--- a/packages/monster/source/util/clone.js
+++ b/packages/monster/source/util/clone.js
@@ -22,7 +22,7 @@ import {getGlobal} from '../types/global.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(Monster.Util.clone({}))
  * </script>
  * ```
@@ -31,7 +31,7 @@ import {getGlobal} from '../types/global.js';
  *
  * ```
  * <script type="module">
- * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(clone({}))
  * </script>
  * ```
diff --git a/packages/monster/source/util/comparator.js b/packages/monster/source/util/comparator.js
index 468a005cd..c557187b2 100644
--- a/packages/monster/source/util/comparator.js
+++ b/packages/monster/source/util/comparator.js
@@ -12,7 +12,7 @@ import {isFunction} from '../types/is.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  * console.log(new Monster.Util.Comparator())
  * </script>
  * ```
@@ -21,7 +21,7 @@ import {isFunction} from '../types/is.js';
  *
  * ```
  * <script type="module">
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  * console.log(new Comparator())
  * </script>
  * ```
@@ -46,7 +46,7 @@ import {isFunction} from '../types/is.js';
  * 
  * @example
  *
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/comparator.js';
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  *
  * console.log(new Comparator().lessThanOrEqual(2, 5))
  * // ↦ true
diff --git a/packages/monster/source/util/freeze.js b/packages/monster/source/util/freeze.js
index 7b2e3cef5..ef9a2980c 100644
--- a/packages/monster/source/util/freeze.js
+++ b/packages/monster/source/util/freeze.js
@@ -14,7 +14,7 @@ import {validateObject} from '../types/validate.js';
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
  * console.log(Monster.Util.deepFreeze({})) 
  * </script>
  * ```
@@ -23,7 +23,7 @@ import {validateObject} from '../types/validate.js';
  *
  * ```
  * <script type="module">
- * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/freeze.js';
+ * import {deepFreeze} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/freeze.js';
  * console.log(deepFreeze({}))  
  * </script>
  * ```
diff --git a/packages/monster/test/cases/data/transformer.js b/packages/monster/test/cases/data/transformer.js
index 66ed1b5db..ca0d39435 100644
--- a/packages/monster/test/cases/data/transformer.js
+++ b/packages/monster/test/cases/data/transformer.js
@@ -39,6 +39,7 @@ describe('Transformer', function () {
 
         [
             ['prefix:Hello\\ ', 'test', "Hello test"],
+            ['tojson', {a:4}, "{\"a\":4}"],
             ['prefix:a\\\\: ', 'test', "a\\test"],
             ['prefix:a\\ ', 'test', "a test"],
             ['static:abc:a:b:x', "test", "abc:a:b:x"],
diff --git a/packages/monster/test/cases/dom/customelement.js b/packages/monster/test/cases/dom/customelement.js
index 65f0a3a19..df93a5f64 100644
--- a/packages/monster/test/cases/dom/customelement.js
+++ b/packages/monster/test/cases/dom/customelement.js
@@ -17,6 +17,9 @@ describe('DOM', function () {
                     static getTag() {
                         return "monster-testclass"
                     }
+                    static getTemplate() {
+                        return ''
+                    }
                 }
                 done()
             });
diff --git a/packages/monster/test/cases/dom/updater.js b/packages/monster/test/cases/dom/updater.js
new file mode 100644
index 000000000..8143906ec
--- /dev/null
+++ b/packages/monster/test/cases/dom/updater.js
@@ -0,0 +1,256 @@
+'use strict';
+
+import {Updater} from "../../../source/dom/updater.js";
+
+
+import chai from "chai"
+import {initJSDOM} from "../../util/jsdom.js";
+import {chaiDom} from "../../util/chai-dom.js";
+
+let expect = chai.expect;
+
+chai.use(chaiDom);
+
+let html1 = `
+    <template id="current">
+        <li data-monster-replace="path:current | tojson"></li>
+    </template>
+    <div id="test1">
+        <ul data-monster-insert="current path:a.b">
+        </ul>
+    </div>
+`;
+
+let html2 = `
+    <div id="test1">
+        <div data-monster-replace="path:text | tolower"> </div>
+        <div data-monster-replace="path:text | call:myformatter"> </div>
+        <div data-monster-replace="static:hello"></div>
+    </div>
+`;
+
+let html3 = `
+
+<template id="myinnerid">
+    <span data-monster-replace="path:myinnerid | tojson"></span>
+</template>
+
+<template id="myid">
+   <p data-monster-insert="myinnerid path:a.b"></p>
+</template>
+
+<div id="test1">
+    <div data-monster-insert="myid path:a.b"></div>
+</div>
+
+`;
+
+
+describe('DOM', function () {
+
+
+    before(function (done) {
+        initJSDOM().then(() => {
+            done()
+        });
+    });
+
+    beforeEach(() => {
+        let mocks = document.getElementById('mocks');
+        mocks.innerHTML = html1;
+    })
+
+    afterEach(() => {
+        let mocks = document.getElementById('mocks');
+        mocks.innerHTML = "";
+    })
+
+    describe('Updater()', function () {
+        describe('Example code', function () {
+
+        })
+    })
+
+    describe('Updater()', function () {
+        describe('test Errors', function () {
+
+            it('should throw value is not an instance of HTMLElement Error', function () {
+                expect(() => new Updater()).to.throw(TypeError)
+            })
+
+            it('should throw value is not an instance of HTMLElement Error', function () {
+
+                let element = document.getElementById('test1')
+                expect(() => new Updater(element)).to.throw(TypeError)
+            })
+
+            it('should throw Error: the value is not iterable', function (done) {
+                let element = document.getElementById('test1')
+
+                let u = new Updater(
+                    element,
+                    {
+                        a: {
+                            x: []
+                        }
+                    }
+                );
+
+
+                u.run().then(() => {
+                    done(new Error("should never called!"));
+                }).catch((e) => {
+                    expect(e).is.instanceOf(Error);
+                    expect(e + "").to.be.equal('Error: the value is not iterable');
+                    done();
+                })
+
+
+            });
+
+
+        });
+    });
+
+    describe('Updater()', function () {
+        describe('new Updater', function () {
+
+            it('should return document object', function () {
+                let element = document.getElementById('test1')
+
+                let d = new Updater(
+                    element,
+                    {}
+                );
+
+                expect(typeof d).is.equal('object');
+            });
+        });
+    });
+
+    describe('Updater()', function () {
+        describe('Repeat', function () {
+
+            it('should build 6 li elements', function (done) {
+                let element = document.getElementById('test1')
+
+                let d = new Updater(
+                    element,
+                    {
+                        a: {
+                            b: [
+                                {i: '0'},
+                                {i: '1'},
+                                {i: '2'},
+                                {i: '3'},
+                                {i: '4'},
+                                {i: '5'},
+                            ]
+                        }
+                    }
+                );
+
+                d.run().then(() => {
+
+                    expect(typeof d).is.equal('object');
+                    for (let i = 0; i < 6; i++) {
+                        expect(element).contain.html('<li data-monster-replace="path:a.b.' + i + ' | tojson" data-monster-insert-reference="current-' + i + '">{"i":"' + i + '"}</li>');
+                    }
+
+                    done();
+                }).catch(
+                    e => {
+                        done(new Error(e))
+                    })
+
+
+            });
+        });
+    });
+
+    describe('Updater()', function () {
+
+        beforeEach(() => {
+            let mocks = document.getElementById('mocks');
+            mocks.innerHTML = html2;
+        })
+
+        describe('Replace', function () {
+
+            it('should add lower hello and HELLOyes!', function (done) {
+                let element = document.getElementById('test1')
+
+                let d = new Updater(
+                    element,
+                    {
+                        text: "HALLO"
+                    }
+                );
+
+                d.setCallback('myformatter', function (a) {
+                    return a + 'yes!'
+                })
+
+                d.run().then(() => {
+
+                    expect(typeof d).is.equal('object');
+                    expect(element).contain.html('<div data-monster-replace="path:text | tolower">hallo</div>');
+                    expect(element).contain.html('<div data-monster-replace="path:text | call:myformatter">HALLOyes!</div>');
+                    expect(element).contain.html('<div data-monster-replace="static:hello">hello</div>');
+
+                    done();
+                }).catch(
+                    e => {
+                        done(new Error(e))
+                    })
+
+
+            });
+        });
+    });
+
+
+    describe('Updater()', function () {
+
+        beforeEach(() => {
+            let mocks = document.getElementById('mocks');
+            mocks.innerHTML = html3;
+        })
+
+        describe('Replace', function () {
+
+            it('should ', function (done) {
+                let element = document.getElementById('test1')
+
+                let d = new Updater(
+                    element,
+                    {
+                        a: {
+                            b: [
+                                {i: '0'},
+                            ]
+                        }
+                    }
+                );
+
+
+                d.run().then(() => {
+
+                    expect(typeof d).is.equal('object');
+                    expect(element).contain.html('<div data-monster-insert="myid path:a.b">');
+                    expect(element).contain.html('<p data-monster-insert="myinnerid path:a.b" data-monster-insert-reference="myid-0">');
+                    expect(element).contain.html('<span data-monster-replace="path:a.b.0 | tojson" data-monster-insert-reference="myinnerid-0">{"i":"0"}</span>');
+
+                    done();
+                }).catch(
+                    e => {
+                        done(new Error(e))
+                    })
+
+
+            });
+        });
+    });
+
+
+});
\ No newline at end of file
diff --git a/packages/monster/test/cases/monster.js b/packages/monster/test/cases/monster.js
index 41d96b623..baf9f4f5d 100644
--- a/packages/monster/test/cases/monster.js
+++ b/packages/monster/test/cases/monster.js
@@ -7,7 +7,7 @@ describe('Monster', function () {
         let monsterVersion
 
     /**#@+ dont touch, replaced by make with package.json version */
-    monsterVersion = new Version('1.7.0')
+    monsterVersion = new Version('1.8.0')
     /**#@-*/
 
         let m = Monster.getVersion();
diff --git a/packages/monster/test/cases/types/proxyobserver.js b/packages/monster/test/cases/types/proxyobserver.js
index a96539588..62c1b5713 100644
--- a/packages/monster/test/cases/types/proxyobserver.js
+++ b/packages/monster/test/cases/types/proxyobserver.js
@@ -90,5 +90,17 @@ describe('ProxyObserver', function () {
             });
         });
     })
+
+    describe('notify observer ', function () {
+
+        it('should return promise', function () {
+            let proxy = new ProxyObserver({});
+            let observer = new Observer(function () {
+            })
+            proxy.attachObserver(observer)
+            expect(proxy.notifyObservers()).is.instanceOf(Promise);
+        });
+    });
+
 })
 
diff --git a/packages/monster/test/cases/types/validate.js b/packages/monster/test/cases/types/validate.js
index 0f9ebd86a..2422c3a22 100644
--- a/packages/monster/test/cases/types/validate.js
+++ b/packages/monster/test/cases/types/validate.js
@@ -46,7 +46,7 @@ describe('validate', function () {
 
             } else {
                 it('.validatePrimitive(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validatePrimitive(a)).to.be.undefined;
+                    expect(validatePrimitive(a)).to.be.equal(a);
                 });
             }
 
@@ -83,7 +83,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateInteger(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateInteger(a)).to.be.undefined;
+                    expect(validateInteger(a)).to.be.equal(a);
                 });
             }
 
@@ -123,7 +123,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateIterable(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateIterable(a)).to.be.undefined;
+                    expect(validateIterable(a)).to.be.equal(a);
                 });
             }
 
@@ -162,7 +162,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateBoolean(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateBoolean(a)).to.be.undefined;
+                    expect(validateBoolean(a)).to.be.equal(a);
                 });
             }
 
@@ -203,7 +203,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateString(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateString(a)).to.be.undefined;
+                    expect(validateString(a)).to.be.equal(a);
                 });
             }
 
@@ -243,7 +243,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateObject(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateObject(a)).to.be.undefined;
+                    expect(validateObject(a)).to.be.equal(a);
                 });
             }
 
@@ -296,7 +296,7 @@ describe('validate', function () {
             let b = data.shift()
 
             it('.validateInstance(' + typeof a + ') should not throw TypeException ' , function () {
-                expect(validateInstance(a, b)).to.be.undefined;
+                expect(validateInstance(a, b)).to.be.equal(a);
             });
 
         });
@@ -336,7 +336,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateArray(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateArray(a)).to.be.undefined;
+                    expect(validateArray(a)).to.be.equal(a);
                 });
             }
 
@@ -375,7 +375,7 @@ describe('validate', function () {
 
             } else {
                 it('.validateFunction(' + typeof a + ') should not throw TypeException ' + b, function () {
-                    expect(validateFunction(a)).to.be.undefined;
+                    expect(validateFunction(a)).to.be.equal(a);
                 });
             }
 
diff --git a/packages/monster/test/util/chai-dom.js b/packages/monster/test/util/chai-dom.js
new file mode 100644
index 000000000..4ac6b859d
--- /dev/null
+++ b/packages/monster/test/util/chai-dom.js
@@ -0,0 +1,352 @@
+/********
+
+ Convert chai-dom 1.8.1 to es module, without any other modification.
+ From https://github.com/nathanboktae/chai-dom/blob/86c3423/chai-dom.js
+ See https://github.com/nathanboktae/chai-dom/issues/38
+
+ Usage:
+ import { chaiDom } from '<path-to>/chai-dom';
+ chai.use(chaiDom);
+
+ Copyright (c) 2015 Nathan Black and other contributors
+
+ This work is licensed under the terms of the MIT license. For a copy, see <https://opensource.org/licenses/MIT>.
+
+ **********/
+
+export function chaiDom(chai, utils) {
+    var flag = utils.flag,
+
+        elToString = function(el) {
+            var desc
+            if (isNodeList(el)) {
+                if (el.length === 0) return 'empty NodeList'
+                desc = Array.prototype.slice.call(el, 0, 5).map(elToString).join(', ')
+                return el.length > 5 ? desc + '... (+' + (el.length - 5) + ' more)' : desc
+            }
+            if (!isHTMLElement(el)) {
+                return String(el)
+            }
+
+            desc = el.tagName.toLowerCase()
+            if (el.id) {
+                desc += '#' + el.id
+            }
+            if (el.className) {
+                desc += '.' + String(el.className).replace(/\s+/g, '.')
+            }
+            Array.prototype.forEach.call(el.attributes, function(attr) {
+                if (attr.name !== 'class' && attr.name !== 'id') {
+                    desc += '[' + attr.name + (attr.value ? '="' + attr.value + '"]' : ']')
+                }
+            })
+            return desc
+        },
+
+        attrAssert = function(name, val) {
+            var el = flag(this, 'object'), actual = el.getAttribute(name)
+
+            if (!flag(this, 'negate') || undefined === val) {
+                this.assert(
+                    !!el.attributes[name]
+                    , 'expected ' + elToString(el) + ' to have an attribute #{exp}'
+                    , 'expected ' + elToString(el) + ' not to have an attribute #{exp}'
+                    , name
+                )
+            }
+
+            if (undefined !== val) {
+                this.assert(
+                    val === actual
+                    , 'expected ' + elToString(el) + ' to have an attribute ' + utils.inspect(name) + ' with the value #{exp}, but the value was #{act}'
+                    , 'expected ' + elToString(el) + ' not to have an attribute ' + utils.inspect(name) + ' with the value #{act}'
+                    , val
+                    , actual
+                )
+            }
+
+            flag(this, 'object', actual)
+        },
+
+        isHTMLElement = function(el) {
+            return el.nodeType === 1 // window.Node.ELEMENT_NODE
+        },
+
+        isNodeList = function(obj) {
+            return Object.prototype.toString.call(obj) === '[object NodeList]'
+        }
+
+    utils.elToString = elToString
+    chai.Assertion.addMethod('attr', attrAssert)
+    chai.Assertion.addMethod('attribute', attrAssert)
+
+    chai.Assertion.addMethod('class', function(className) {
+        var el = flag(this, 'object')
+        this.assert(
+            el.classList.contains(className)
+            , 'expected ' + elToString(el) + ' to have class #{exp}'
+            , 'expected ' + elToString(el) + ' not to have class #{exp}'
+            , className
+        )
+    })
+
+    chai.Assertion.addMethod('id', function(id) {
+        var el = flag(this, 'object')
+        this.assert(
+            el.id == id
+            , 'expected ' + elToString(el) + ' to have id #{exp}'
+            , 'expected ' + elToString(el) + ' not to have id #{exp}'
+            , id
+        )
+    })
+
+    chai.Assertion.addMethod('html', function(html) {
+        var el = flag(this, 'object'), actual = flag(this, 'object').innerHTML
+
+        if (flag(this, 'contains')) {
+            this.assert(
+                actual.indexOf(html) >= 0
+                , 'expected #{act} to contain HTML #{exp}'
+                , 'expected #{act} not to contain HTML #{exp}'
+                , html
+                , actual
+            )
+        } else {
+            this.assert(
+                actual === html
+                , 'expected ' + elToString(el) + ' to have HTML #{exp}, but the HTML was #{act}'
+                , 'expected ' + elToString(el) + ' not to have HTML #{exp}'
+                , html
+                , actual
+            )
+        }
+    })
+
+    chai.Assertion.addChainableMethod('trimmed', null, function() {
+        flag(this, 'trim-text', true)
+    })
+
+    chai.Assertion.addMethod('text', function(text) {
+        var obj = flag(this, 'object'), contains = flag(this, 'contains'),
+            trim = flag(this, 'trim-text'), actual, result
+
+        if (isNodeList(obj)) {
+            actual = Array.prototype.map.call(obj, function(el) { return trim ? el.textContent.trim() : el.textContent })
+            if (Array.isArray(text)) {
+                result = contains ?
+                    text[flag(this, 'negate') ? 'some' : 'every'](function(t) {
+                        return Array.prototype.some.call(obj, function(el) {
+                            return (trim ? el.textContent.trim() : el.textContent) === t
+                        })
+                    })
+                    :
+                    utils.eql(actual, text)
+
+                actual = actual.join()
+                text = text.join()
+            } else {
+                actual = actual.join('')
+                result = contains ? actual.indexOf(text) >= 0 : actual === text
+            }
+        } else {
+            actual = trim ? obj.textContent.trim() : obj.textContent
+            result = contains ? actual.indexOf(text) >= 0 : actual === text
+        }
+
+        var objDesc = elToString(obj), textMsg = trim ? 'trimmed text' : 'text'
+        if (contains) {
+            this.assert(
+                result
+                , 'expected ' + objDesc + ' to contain #{exp}, but the ' + textMsg + ' was #{act}'
+                , 'expected ' + objDesc + ' not to contain #{exp}, but the ' + textMsg + ' was #{act}'
+                , text
+                , actual
+            )
+        } else {
+            this.assert(
+                result
+                , 'expected ' + objDesc + ' to have ' + textMsg + ' #{exp}, but the ' + textMsg + ' was #{act}'
+                , 'expected ' + objDesc + ' not to have ' + textMsg + ' #{exp}'
+                , text
+                , actual
+            )
+        }
+    })
+
+    chai.Assertion.addMethod('value', function(value) {
+        var el = flag(this, 'object'), actual = flag(this, 'object').value
+        this.assert(
+            flag(this, 'object').value === value
+            , 'expected ' + elToString(el) + ' to have value #{exp}, but the value was #{act}'
+            , 'expected ' + elToString(el) + ' not to have value #{exp}'
+            , value
+            , actual
+        )
+    })
+
+    chai.Assertion.overwriteProperty('exist', function(_super) {
+        return function() {
+            var obj = flag(this, 'object')
+            if (isNodeList(obj)) {
+                this.assert(
+                    obj.length > 0
+                    , 'expected an empty NodeList to have nodes'
+                    , 'expected ' + elToString(obj) + ' to not exist')
+            } else {
+                _super.apply(this, arguments)
+            }
+        }
+    })
+
+    chai.Assertion.overwriteProperty('empty', function(_super) {
+        return function() {
+            var obj = flag(this, 'object')
+            if (isHTMLElement(obj)) {
+                this.assert(
+                    obj.children.length === 0
+                    , 'expected ' + elToString(obj) + ' to be empty'
+                    , 'expected ' + elToString(obj) + ' to not be empty')
+            } else if (isNodeList(obj)) {
+                this.assert(
+                    obj.length === 0
+                    , 'expected ' + elToString(obj) + ' to be empty'
+                    , 'expected ' + elToString(obj) + ' to not be empty')
+            } else {
+                _super.apply(this, arguments)
+            }
+        }
+    })
+
+    chai.Assertion.overwriteChainableMethod('length',
+        function(_super) {
+            return function(length) {
+                var obj = flag(this, 'object')
+                if (isNodeList(obj) || isHTMLElement(obj)) {
+                    var actualLength = obj.children ? obj.children.length : obj.length
+                    this.assert(
+                        actualLength === length
+                        , 'expected ' + elToString(obj) + ' to have #{exp} children but it had #{act} children'
+                        , 'expected ' + elToString(obj) + ' to not have #{exp} children'
+                        , length
+                        , actualLength
+                    )
+                } else {
+                    _super.apply(this, arguments)
+                }
+            }
+        },
+        function(_super) {
+            return function() {
+                _super.call(this)
+            }
+        }
+    )
+
+
+    chai.Assertion.overwriteMethod('match', function(_super) {
+        return function(selector) {
+            var obj = flag(this, 'object')
+            if (isHTMLElement(obj)) {
+                this.assert(
+                    obj.matches(selector)
+                    , 'expected ' + elToString(obj) + ' to match #{exp}'
+                    , 'expected ' + elToString(obj) + ' to not match #{exp}'
+                    , selector
+                )
+            } else if (isNodeList(obj)) {
+                this.assert(
+                    (!!obj.length && Array.prototype.every.call(obj, function(el) { return el.matches(selector) }))
+                    , 'expected ' + elToString(obj) + ' to match #{exp}'
+                    , 'expected ' + elToString(obj) + ' to not match #{exp}'
+                    , selector
+                )
+            } else {
+                _super.apply(this, arguments)
+            }
+        }
+    })
+
+    chai.Assertion.overwriteChainableMethod('contain',
+        function(_super) {
+            return function(subitem) {
+                var obj = flag(this, 'object')
+                if (isHTMLElement(obj)) {
+                    if (typeof subitem === 'string') {
+                        this.assert(
+                            !!obj.querySelector(subitem)
+                            , 'expected ' + elToString(obj) + ' to contain #{exp}'
+                            , 'expected ' + elToString(obj) + ' to not contain #{exp}'
+                            , subitem)
+                    } else {
+                        this.assert(
+                            obj.contains(subitem)
+                            , 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem)
+                            , 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem))
+                    }
+                } else {
+                    _super.apply(this, arguments)
+                }
+            }
+        },
+        function(_super) {
+            return function() {
+                _super.call(this)
+            }
+        }
+    )
+
+    chai.Assertion.addMethod('descendant', function(subitem) {
+        var obj = flag(this, 'object'), actual = subitem
+
+        if (typeof subitem === 'string') {
+            actual = obj.querySelector(subitem)
+            this.assert(
+                !!actual
+                , 'expected ' + elToString(obj) + ' to have descendant #{exp}'
+                , 'expected ' + elToString(obj) + ' to not have descendant #{exp}'
+                , subitem)
+        } else {
+            this.assert(
+                obj.contains(subitem)
+                , 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem)
+                , 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem))
+        }
+
+        flag(this, 'object', actual)
+    })
+
+    chai.Assertion.addMethod('descendants', function(selector) {
+        var obj = flag(this, 'object'),
+            actual = obj.querySelectorAll(selector)
+        this.assert(
+            !!actual.length
+            , 'expected ' + elToString(obj) + ' to have descendants #{exp}'
+            , 'expected ' + elToString(obj) + ' to not have descendants #{exp}'
+            , selector)
+        flag(this, 'object', actual)
+    })
+
+    chai.Assertion.addProperty('displayed', function() {
+        var el = flag(this, 'object'),
+            actual = document.body.contains(el) ? window.getComputedStyle(el).display : el.style.display
+
+        this.assert(
+            actual !== 'none'
+            , 'expected ' + elToString(el) + ' to be displayed, but it was not'
+            , 'expected ' + elToString(el) + ' to not be displayed, but it was as ' + actual
+            , actual
+        )
+    })
+
+    chai.Assertion.addProperty('visible', function() {
+        var el = flag(this, 'object'),
+            actual = document.body.contains(el) ? window.getComputedStyle(el).visibility : el.style.visibility
+
+        this.assert(
+            actual !== 'hidden' && actual !== 'collapse'
+            , 'expected ' + elToString(el) + ' to be visible, but it was ' + (actual === 'hidden' ? 'hidden' : 'collapsed')
+            , 'expected ' + elToString(el) + ' to not be visible, but it was'
+            , actual
+        )
+    })
+}
\ No newline at end of file
diff --git a/packages/monster/test/util/jsdom.js b/packages/monster/test/util/jsdom.js
index ae7d7e3ef..e9b5eb0c3 100644
--- a/packages/monster/test/util/jsdom.js
+++ b/packages/monster/test/util/jsdom.js
@@ -4,7 +4,7 @@ import {getGlobal} from "../../source/types/global.js";
 
 /**
  * this helper function creates the dom stack in the node environment
- * 
+ *
  * @return {Promise<unknown>|Promise<void>}
  */
 function initJSDOM() {
@@ -13,10 +13,13 @@ function initJSDOM() {
     const g = getGlobal();
 
     return import("jsdom").then(({JSDOM}) => {
-        const {window} = new JSDOM('', {
-            url: 'http://example.com/',
+        const {window} = new JSDOM(`<html>
+<head>
+</head>
+<body>
+<div id="mocks"></div>
+</body>`, {
             pretendToBeVisual: true,
-            referrer: "https://example.com/",
             contentType: "text/html",
             includeNodeLocations: true,
             storageQuota: 10000000
@@ -37,6 +40,7 @@ function initJSDOM() {
                     'customElements',
                     'DocumentFragment',
                     'DOMParser',
+                    'CSSStyleSheet',
                     'MutationObserver',
                     'HTMLTemplateElement',
                     'XMLSerializer',
diff --git a/packages/monster/test/web/import.js b/packages/monster/test/web/import.js
index bd390b99f..a24d22b87 100644
--- a/packages/monster/test/web/import.js
+++ b/packages/monster/test/web/import.js
@@ -4,9 +4,11 @@ import "../cases/logging/logger.js";
 import "../cases/logging/handler.js";
 import "../cases/logging/logentry.js";
 import "../cases/dom/handle.js";
+import "../cases/dom/updater.js";
 import "../cases/dom/template.js";
 import "../cases/dom/util.js";
 import "../cases/dom/assembler.js";
+import "../cases/dom/theme.js";
 import "../cases/dom/customelement.js";
 import "../cases/types/queue.js";
 import "../cases/types/observer.js";
@@ -16,6 +18,7 @@ import "../cases/types/is.js";
 import "../cases/types/proxyobserver.js";
 import "../cases/types/uniquequeue.js";
 import "../cases/types/tokenlist.js";
+import "../cases/types/typeof.js";
 import "../cases/types/base.js";
 import "../cases/types/version.js";
 import "../cases/types/id.js";
@@ -33,6 +36,7 @@ import "../cases/util/clone.js";
 import "../cases/data/pathfinder.js";
 import "../cases/data/pipe.js";
 import "../cases/data/diff.js";
+import "../cases/data/buildmap.js";
 import "../cases/data/transformer.js";
 import "../cases/math/random.js";
 import "../cases/monster.js";
diff --git a/packages/monster/test/web/mocha.js b/packages/monster/test/web/mocha.js
index c5ac9a55c..df4618d81 100644
--- a/packages/monster/test/web/mocha.js
+++ b/packages/monster/test/web/mocha.js
@@ -1,4 +1,5 @@
 // mocha@9.0.2 transpiled to javascript ES5
+SharedArrayBuffer = ArrayBuffer;
 (function (global, factory) {
 	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
 		typeof define === 'function' && define.amd ? define(factory) :
diff --git a/packages/monster/test/web/test.html b/packages/monster/test/web/test.html
index a059b7409..5e15340b2 100644
--- a/packages/monster/test/web/test.html
+++ b/packages/monster/test/web/test.html
@@ -7,6 +7,7 @@
     <link rel="stylesheet" href="mocha.css"/>
 </head>
 <body>
+<div id="mocks"></div>
 <div id="mocha"></div>
 <script src="mocha.js"></script>
 <script>
diff --git a/packages/monster/test/web/tests.js b/packages/monster/test/web/tests.js
index e4a021d4f..4952a7a1b 100644
--- a/packages/monster/test/web/tests.js
+++ b/packages/monster/test/web/tests.js
@@ -12,6 +12,13 @@ function _arrayLikeToArray(arr, len) {
 module.exports = _arrayLikeToArray;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
 },{}],2:[function(require,module,exports){
+function _arrayWithHoles(arr) {
+  if (Array.isArray(arr)) return arr;
+}
+
+module.exports = _arrayWithHoles;
+module.exports["default"] = module.exports, module.exports.__esModule = true;
+},{}],3:[function(require,module,exports){
 var arrayLikeToArray = require("./arrayLikeToArray.js");
 
 function _arrayWithoutHoles(arr) {
@@ -20,7 +27,7 @@ function _arrayWithoutHoles(arr) {
 
 module.exports = _arrayWithoutHoles;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./arrayLikeToArray.js":1}],3:[function(require,module,exports){
+},{"./arrayLikeToArray.js":1}],4:[function(require,module,exports){
 function _assertThisInitialized(self) {
   if (self === void 0) {
     throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -31,7 +38,7 @@ function _assertThisInitialized(self) {
 
 module.exports = _assertThisInitialized;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],4:[function(require,module,exports){
+},{}],5:[function(require,module,exports){
 function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
   try {
     var info = gen[key](arg);
@@ -70,7 +77,7 @@ function _asyncToGenerator(fn) {
 
 module.exports = _asyncToGenerator;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],5:[function(require,module,exports){
+},{}],6:[function(require,module,exports){
 function _classCallCheck(instance, Constructor) {
   if (!(instance instanceof Constructor)) {
     throw new TypeError("Cannot call a class as a function");
@@ -79,7 +86,7 @@ function _classCallCheck(instance, Constructor) {
 
 module.exports = _classCallCheck;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],6:[function(require,module,exports){
+},{}],7:[function(require,module,exports){
 var setPrototypeOf = require("./setPrototypeOf.js");
 
 var isNativeReflectConstruct = require("./isNativeReflectConstruct.js");
@@ -106,7 +113,7 @@ function _construct(Parent, args, Class) {
 
 module.exports = _construct;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./isNativeReflectConstruct.js":13,"./setPrototypeOf.js":17}],7:[function(require,module,exports){
+},{"./isNativeReflectConstruct.js":14,"./setPrototypeOf.js":20}],8:[function(require,module,exports){
 function _defineProperties(target, props) {
   for (var i = 0; i < props.length; i++) {
     var descriptor = props[i];
@@ -125,7 +132,7 @@ function _createClass(Constructor, protoProps, staticProps) {
 
 module.exports = _createClass;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],8:[function(require,module,exports){
+},{}],9:[function(require,module,exports){
 var superPropBase = require("./superPropBase.js");
 
 function _get(target, property, receiver) {
@@ -153,7 +160,7 @@ function _get(target, property, receiver) {
 
 module.exports = _get;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./superPropBase.js":18}],9:[function(require,module,exports){
+},{"./superPropBase.js":22}],10:[function(require,module,exports){
 function _getPrototypeOf(o) {
   module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
     return o.__proto__ || Object.getPrototypeOf(o);
@@ -164,7 +171,7 @@ function _getPrototypeOf(o) {
 
 module.exports = _getPrototypeOf;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],10:[function(require,module,exports){
+},{}],11:[function(require,module,exports){
 var setPrototypeOf = require("./setPrototypeOf.js");
 
 function _inherits(subClass, superClass) {
@@ -184,7 +191,7 @@ function _inherits(subClass, superClass) {
 
 module.exports = _inherits;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./setPrototypeOf.js":17}],11:[function(require,module,exports){
+},{"./setPrototypeOf.js":20}],12:[function(require,module,exports){
 function _interopRequireDefault(obj) {
   return obj && obj.__esModule ? obj : {
     "default": obj
@@ -193,14 +200,14 @@ function _interopRequireDefault(obj) {
 
 module.exports = _interopRequireDefault;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],12:[function(require,module,exports){
+},{}],13:[function(require,module,exports){
 function _isNativeFunction(fn) {
   return Function.toString.call(fn).indexOf("[native code]") !== -1;
 }
 
 module.exports = _isNativeFunction;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],13:[function(require,module,exports){
+},{}],14:[function(require,module,exports){
 function _isNativeReflectConstruct() {
   if (typeof Reflect === "undefined" || !Reflect.construct) return false;
   if (Reflect.construct.sham) return false;
@@ -216,21 +223,61 @@ function _isNativeReflectConstruct() {
 
 module.exports = _isNativeReflectConstruct;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],14:[function(require,module,exports){
+},{}],15:[function(require,module,exports){
 function _iterableToArray(iter) {
   if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
 }
 
 module.exports = _iterableToArray;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],15:[function(require,module,exports){
+},{}],16:[function(require,module,exports){
+function _iterableToArrayLimit(arr, i) {
+  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
+
+  if (_i == null) return;
+  var _arr = [];
+  var _n = true;
+  var _d = false;
+
+  var _s, _e;
+
+  try {
+    for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
+      _arr.push(_s.value);
+
+      if (i && _arr.length === i) break;
+    }
+  } catch (err) {
+    _d = true;
+    _e = err;
+  } finally {
+    try {
+      if (!_n && _i["return"] != null) _i["return"]();
+    } finally {
+      if (_d) throw _e;
+    }
+  }
+
+  return _arr;
+}
+
+module.exports = _iterableToArrayLimit;
+module.exports["default"] = module.exports, module.exports.__esModule = true;
+},{}],17:[function(require,module,exports){
+function _nonIterableRest() {
+  throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+
+module.exports = _nonIterableRest;
+module.exports["default"] = module.exports, module.exports.__esModule = true;
+},{}],18:[function(require,module,exports){
 function _nonIterableSpread() {
   throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 }
 
 module.exports = _nonIterableSpread;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],16:[function(require,module,exports){
+},{}],19:[function(require,module,exports){
 var _typeof = require("@babel/runtime/helpers/typeof")["default"];
 
 var assertThisInitialized = require("./assertThisInitialized.js");
@@ -245,7 +292,7 @@ function _possibleConstructorReturn(self, call) {
 
 module.exports = _possibleConstructorReturn;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./assertThisInitialized.js":3,"@babel/runtime/helpers/typeof":20}],17:[function(require,module,exports){
+},{"./assertThisInitialized.js":4,"@babel/runtime/helpers/typeof":24}],20:[function(require,module,exports){
 function _setPrototypeOf(o, p) {
   module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
     o.__proto__ = p;
@@ -258,7 +305,22 @@ function _setPrototypeOf(o, p) {
 
 module.exports = _setPrototypeOf;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],18:[function(require,module,exports){
+},{}],21:[function(require,module,exports){
+var arrayWithHoles = require("./arrayWithHoles.js");
+
+var iterableToArrayLimit = require("./iterableToArrayLimit.js");
+
+var unsupportedIterableToArray = require("./unsupportedIterableToArray.js");
+
+var nonIterableRest = require("./nonIterableRest.js");
+
+function _slicedToArray(arr, i) {
+  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();
+}
+
+module.exports = _slicedToArray;
+module.exports["default"] = module.exports, module.exports.__esModule = true;
+},{"./arrayWithHoles.js":2,"./iterableToArrayLimit.js":16,"./nonIterableRest.js":17,"./unsupportedIterableToArray.js":25}],22:[function(require,module,exports){
 var getPrototypeOf = require("./getPrototypeOf.js");
 
 function _superPropBase(object, property) {
@@ -272,7 +334,7 @@ function _superPropBase(object, property) {
 
 module.exports = _superPropBase;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./getPrototypeOf.js":9}],19:[function(require,module,exports){
+},{"./getPrototypeOf.js":10}],23:[function(require,module,exports){
 var arrayWithoutHoles = require("./arrayWithoutHoles.js");
 
 var iterableToArray = require("./iterableToArray.js");
@@ -287,7 +349,7 @@ function _toConsumableArray(arr) {
 
 module.exports = _toConsumableArray;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./arrayWithoutHoles.js":2,"./iterableToArray.js":14,"./nonIterableSpread.js":15,"./unsupportedIterableToArray.js":21}],20:[function(require,module,exports){
+},{"./arrayWithoutHoles.js":3,"./iterableToArray.js":15,"./nonIterableSpread.js":18,"./unsupportedIterableToArray.js":25}],24:[function(require,module,exports){
 function _typeof(obj) {
   "@babel/helpers - typeof";
 
@@ -310,7 +372,7 @@ function _typeof(obj) {
 
 module.exports = _typeof;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{}],21:[function(require,module,exports){
+},{}],25:[function(require,module,exports){
 var arrayLikeToArray = require("./arrayLikeToArray.js");
 
 function _unsupportedIterableToArray(o, minLen) {
@@ -324,7 +386,7 @@ function _unsupportedIterableToArray(o, minLen) {
 
 module.exports = _unsupportedIterableToArray;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./arrayLikeToArray.js":1}],22:[function(require,module,exports){
+},{"./arrayLikeToArray.js":1}],26:[function(require,module,exports){
 var getPrototypeOf = require("./getPrototypeOf.js");
 
 var setPrototypeOf = require("./setPrototypeOf.js");
@@ -370,7 +432,7 @@ function _wrapNativeSuper(Class) {
 
 module.exports = _wrapNativeSuper;
 module.exports["default"] = module.exports, module.exports.__esModule = true;
-},{"./construct.js":6,"./getPrototypeOf.js":9,"./isNativeFunction.js":12,"./setPrototypeOf.js":17}],23:[function(require,module,exports){
+},{"./construct.js":7,"./getPrototypeOf.js":10,"./isNativeFunction.js":13,"./setPrototypeOf.js":20}],27:[function(require,module,exports){
 /**
  * Copyright (c) 2014-present, Facebook, Inc.
  *
@@ -1126,10 +1188,10 @@ try {
   }
 }
 
-},{}],24:[function(require,module,exports){
+},{}],28:[function(require,module,exports){
 module.exports = require("regenerator-runtime");
 
-},{"regenerator-runtime":23}],25:[function(require,module,exports){
+},{"regenerator-runtime":27}],29:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnConvert = void 0;
@@ -1157,7 +1219,7 @@ class AsnConvert {
 }
 exports.AsnConvert = AsnConvert;
 
-},{"./parser":34,"./serializer":36,"asn1js":67,"pvtsutils":985}],26:[function(require,module,exports){
+},{"./parser":38,"./serializer":40,"asn1js":71,"pvtsutils":989}],30:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.defaultConverter = exports.AsnNullConverter = exports.AsnGeneralizedTimeConverter = exports.AsnUTCTimeConverter = exports.AsnCharacterStringConverter = exports.AsnGeneralStringConverter = exports.AsnVisibleStringConverter = exports.AsnGraphicStringConverter = exports.AsnIA5StringConverter = exports.AsnVideotexStringConverter = exports.AsnTeletexStringConverter = exports.AsnPrintableStringConverter = exports.AsnNumericStringConverter = exports.AsnUniversalStringConverter = exports.AsnBmpStringConverter = exports.AsnUtf8StringConverter = exports.AsnOctetStringConverter = exports.AsnBooleanConverter = exports.AsnObjectIdentifierConverter = exports.AsnBitStringConverter = exports.AsnIntegerArrayBufferConverter = exports.AsnEnumeratedConverter = exports.AsnIntegerConverter = exports.AsnAnyConverter = void 0;
@@ -1290,7 +1352,7 @@ function defaultConverter(type) {
 }
 exports.defaultConverter = defaultConverter;
 
-},{"./enums":28,"asn1js":67}],27:[function(require,module,exports){
+},{"./enums":32,"asn1js":71}],31:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnProp = exports.AsnType = void 0;
@@ -1329,7 +1391,7 @@ const AsnProp = (options) => (target, propertyKey) => {
 };
 exports.AsnProp = AsnProp;
 
-},{"./converters":26,"./storage":37}],28:[function(require,module,exports){
+},{"./converters":30,"./storage":41}],32:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnPropTypes = exports.AsnTypeTypes = void 0;
@@ -1370,13 +1432,13 @@ var AsnPropTypes;
     AsnPropTypes[AsnPropTypes["Null"] = 27] = "Null";
 })(AsnPropTypes = exports.AsnPropTypes || (exports.AsnPropTypes = {}));
 
-},{}],29:[function(require,module,exports){
+},{}],33:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 const tslib_1 = require("tslib");
 tslib_1.__exportStar(require("./schema_validation"), exports);
 
-},{"./schema_validation":30,"tslib":1055}],30:[function(require,module,exports){
+},{"./schema_validation":34,"tslib":1059}],34:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnSchemaValidationError = void 0;
@@ -1388,7 +1450,7 @@ class AsnSchemaValidationError extends Error {
 }
 exports.AsnSchemaValidationError = AsnSchemaValidationError;
 
-},{}],31:[function(require,module,exports){
+},{}],35:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.isArrayEqual = exports.isTypeOfArray = exports.isConvertible = void 0;
@@ -1436,7 +1498,7 @@ function isArrayEqual(bytes1, bytes2) {
 }
 exports.isArrayEqual = isArrayEqual;
 
-},{}],32:[function(require,module,exports){
+},{}],36:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnSerializer = exports.AsnParser = exports.AsnPropTypes = exports.AsnTypeTypes = exports.AsnType = exports.AsnProp = void 0;
@@ -1457,7 +1519,7 @@ tslib_1.__exportStar(require("./errors"), exports);
 tslib_1.__exportStar(require("./objects"), exports);
 tslib_1.__exportStar(require("./convert"), exports);
 
-},{"./convert":25,"./converters":26,"./decorators":27,"./enums":28,"./errors":29,"./objects":33,"./parser":34,"./serializer":36,"./types/index":39,"tslib":1055}],33:[function(require,module,exports){
+},{"./convert":29,"./converters":30,"./decorators":31,"./enums":32,"./errors":33,"./objects":37,"./parser":38,"./serializer":40,"./types/index":43,"tslib":1059}],37:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnArray = void 0;
@@ -1476,7 +1538,7 @@ class AsnArray extends Array {
 }
 exports.AsnArray = AsnArray;
 
-},{}],34:[function(require,module,exports){
+},{}],38:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
@@ -1617,7 +1679,7 @@ class AsnParser {
 exports.AsnParser = AsnParser;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./converters":26,"./enums":28,"./errors":29,"./helper":31,"./storage":37,"asn1js":67,"buffer":124}],35:[function(require,module,exports){
+},{"./converters":30,"./enums":32,"./errors":33,"./helper":35,"./storage":41,"asn1js":71,"buffer":128}],39:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnSchemaStorage = void 0;
@@ -1780,7 +1842,7 @@ class AsnSchemaStorage {
 }
 exports.AsnSchemaStorage = AsnSchemaStorage;
 
-},{"./enums":28,"./helper":31,"asn1js":67}],36:[function(require,module,exports){
+},{"./enums":32,"./helper":35,"asn1js":71}],40:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.AsnSerializer = void 0;
@@ -1924,14 +1986,14 @@ class AsnSerializer {
 }
 exports.AsnSerializer = AsnSerializer;
 
-},{"./converters":26,"./enums":28,"./helper":31,"./storage":37,"asn1js":67}],37:[function(require,module,exports){
+},{"./converters":30,"./enums":32,"./helper":35,"./storage":41,"asn1js":71}],41:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.schemaStorage = void 0;
 const schema_1 = require("./schema");
 exports.schemaStorage = new schema_1.AsnSchemaStorage();
 
-},{"./schema":35}],38:[function(require,module,exports){
+},{"./schema":39}],42:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.BitString = void 0;
@@ -1996,14 +2058,14 @@ class BitString {
 }
 exports.BitString = BitString;
 
-},{"asn1js":67,"pvtsutils":985}],39:[function(require,module,exports){
+},{"asn1js":71,"pvtsutils":989}],43:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 const tslib_1 = require("tslib");
 tslib_1.__exportStar(require("./bit_string"), exports);
 tslib_1.__exportStar(require("./octet_string"), exports);
 
-},{"./bit_string":38,"./octet_string":40,"tslib":1055}],40:[function(require,module,exports){
+},{"./bit_string":42,"./octet_string":44,"tslib":1059}],44:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.OctetString = void 0;
@@ -2048,7 +2110,7 @@ class OctetString {
 }
 exports.OctetString = OctetString;
 
-},{"asn1js":67,"pvtsutils":985}],41:[function(require,module,exports){
+},{"asn1js":71,"pvtsutils":989}],45:[function(require,module,exports){
 /**
  * Copyright (c) 2020, Peculiar Ventures, All rights reserved.
  */
@@ -2545,7 +2607,7 @@ exports.SerializerError = SerializerError;
 exports.TransformError = TransformError;
 exports.ValidationError = ValidationError;
 
-},{}],42:[function(require,module,exports){
+},{}],46:[function(require,module,exports){
 (function (Buffer){(function (){
 /**
  * Copyright (c) 2020 Peculiar Ventures, LLC
@@ -4740,7 +4802,7 @@ Object.defineProperty(exports, 'CryptoKey', {
 exports.Crypto = Crypto;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"@peculiar/asn1-schema":32,"@peculiar/json-schema":41,"buffer":124,"crypto":169,"process":1198,"pvtsutils":985,"tslib":1055,"webcrypto-core":1074}],43:[function(require,module,exports){
+},{"@peculiar/asn1-schema":36,"@peculiar/json-schema":45,"buffer":128,"crypto":173,"process":1212,"pvtsutils":989,"tslib":1059,"webcrypto-core":1078}],47:[function(require,module,exports){
 "use strict";
 function noop() { }
 function once(emitter, name) {
@@ -4780,7 +4842,7 @@ function once(emitter, name) {
 })(once || (once = {}));
 module.exports = once;
 
-},{}],44:[function(require,module,exports){
+},{}],48:[function(require,module,exports){
 "use strict";
 
 const atob = require("./lib/atob");
@@ -4791,7 +4853,7 @@ module.exports = {
   btoa
 };
 
-},{"./lib/atob":45,"./lib/btoa":46}],45:[function(require,module,exports){
+},{"./lib/atob":49,"./lib/btoa":50}],49:[function(require,module,exports){
 "use strict";
 
 /**
@@ -4890,7 +4952,7 @@ function atobLookup(chr) {
 
 module.exports = atob;
 
-},{}],46:[function(require,module,exports){
+},{}],50:[function(require,module,exports){
 "use strict";
 
 /**
@@ -4950,7 +5012,7 @@ function btoaLookup(index) {
 
 module.exports = btoa;
 
-},{}],47:[function(require,module,exports){
+},{}],51:[function(require,module,exports){
 'use strict';
 
 var acorn = require('acorn');
@@ -5131,7 +5193,7 @@ function findGlobals(source, options) {
   });
 }
 
-},{"acorn":49,"acorn-walk":48}],48:[function(require,module,exports){
+},{"acorn":53,"acorn-walk":52}],52:[function(require,module,exports){
 (function (global, factory) {
   typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
   typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -5596,7 +5658,7 @@ function findGlobals(source, options) {
 
 })));
 
-},{}],49:[function(require,module,exports){
+},{}],53:[function(require,module,exports){
 (function (global, factory) {
   typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
   typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -10784,7 +10846,7 @@ function findGlobals(source, options) {
 
 })));
 
-},{}],50:[function(require,module,exports){
+},{}],54:[function(require,module,exports){
 "use strict";
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -10988,7 +11050,7 @@ function createAgent(callback, opts) {
 })(createAgent || (createAgent = {}));
 module.exports = createAgent;
 
-},{"./promisify":51,"debug":223,"events":280}],51:[function(require,module,exports){
+},{"./promisify":55,"debug":227,"events":284}],55:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 function promisify(fn) {
@@ -11007,7 +11069,7 @@ function promisify(fn) {
 }
 exports.default = promisify;
 
-},{}],52:[function(require,module,exports){
+},{}],56:[function(require,module,exports){
 'use strict';
 
 const asn1 = exports;
@@ -11020,7 +11082,7 @@ asn1.constants = require('./asn1/constants');
 asn1.decoders = require('./asn1/decoders');
 asn1.encoders = require('./asn1/encoders');
 
-},{"./asn1/api":53,"./asn1/base":55,"./asn1/constants":59,"./asn1/decoders":61,"./asn1/encoders":64,"bn.js":66}],53:[function(require,module,exports){
+},{"./asn1/api":57,"./asn1/base":59,"./asn1/constants":63,"./asn1/decoders":65,"./asn1/encoders":68,"bn.js":70}],57:[function(require,module,exports){
 'use strict';
 
 const encoders = require('./encoders');
@@ -11079,7 +11141,7 @@ Entity.prototype.encode = function encode(data, enc, /* internal */ reporter) {
   return this._getEncoder(enc).encode(data, reporter);
 };
 
-},{"./decoders":61,"./encoders":64,"inherits":328}],54:[function(require,module,exports){
+},{"./decoders":65,"./encoders":68,"inherits":332}],58:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -11234,7 +11296,7 @@ EncoderBuffer.prototype.join = function join(out, offset) {
   return out;
 };
 
-},{"../base/reporter":57,"inherits":328,"safer-buffer":994}],55:[function(require,module,exports){
+},{"../base/reporter":61,"inherits":332,"safer-buffer":998}],59:[function(require,module,exports){
 'use strict';
 
 const base = exports;
@@ -11244,7 +11306,7 @@ base.DecoderBuffer = require('./buffer').DecoderBuffer;
 base.EncoderBuffer = require('./buffer').EncoderBuffer;
 base.Node = require('./node');
 
-},{"./buffer":54,"./node":56,"./reporter":57}],56:[function(require,module,exports){
+},{"./buffer":58,"./node":60,"./reporter":61}],60:[function(require,module,exports){
 'use strict';
 
 const Reporter = require('../base/reporter').Reporter;
@@ -11884,7 +11946,7 @@ Node.prototype._isPrintstr = function isPrintstr(str) {
   return /^[A-Za-z0-9 '()+,-./:=?]*$/.test(str);
 };
 
-},{"../base/buffer":54,"../base/reporter":57,"minimalistic-assert":920}],57:[function(require,module,exports){
+},{"../base/buffer":58,"../base/reporter":61,"minimalistic-assert":924}],61:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -12009,7 +12071,7 @@ ReporterError.prototype.rethrow = function rethrow(msg) {
   return this;
 };
 
-},{"inherits":328}],58:[function(require,module,exports){
+},{"inherits":332}],62:[function(require,module,exports){
 'use strict';
 
 // Helper
@@ -12069,7 +12131,7 @@ exports.tag = {
 };
 exports.tagByName = reverse(exports.tag);
 
-},{}],59:[function(require,module,exports){
+},{}],63:[function(require,module,exports){
 'use strict';
 
 const constants = exports;
@@ -12092,7 +12154,7 @@ constants._reverse = function reverse(map) {
 
 constants.der = require('./der');
 
-},{"./der":58}],60:[function(require,module,exports){
+},{"./der":62}],64:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -12429,7 +12491,7 @@ function derDecodeLen(buf, primitive, fail) {
   return len;
 }
 
-},{"../base/buffer":54,"../base/node":56,"../constants/der":58,"bn.js":66,"inherits":328}],61:[function(require,module,exports){
+},{"../base/buffer":58,"../base/node":60,"../constants/der":62,"bn.js":70,"inherits":332}],65:[function(require,module,exports){
 'use strict';
 
 const decoders = exports;
@@ -12437,7 +12499,7 @@ const decoders = exports;
 decoders.der = require('./der');
 decoders.pem = require('./pem');
 
-},{"./der":60,"./pem":62}],62:[function(require,module,exports){
+},{"./der":64,"./pem":66}],66:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -12490,7 +12552,7 @@ PEMDecoder.prototype.decode = function decode(data, options) {
   return DERDecoder.prototype.decode.call(this, input, options);
 };
 
-},{"./der":60,"inherits":328,"safer-buffer":994}],63:[function(require,module,exports){
+},{"./der":64,"inherits":332,"safer-buffer":998}],67:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -12787,7 +12849,7 @@ function encodeTag(tag, primitive, cls, reporter) {
   return res;
 }
 
-},{"../base/node":56,"../constants/der":58,"inherits":328,"safer-buffer":994}],64:[function(require,module,exports){
+},{"../base/node":60,"../constants/der":62,"inherits":332,"safer-buffer":998}],68:[function(require,module,exports){
 'use strict';
 
 const encoders = exports;
@@ -12795,7 +12857,7 @@ const encoders = exports;
 encoders.der = require('./der');
 encoders.pem = require('./pem');
 
-},{"./der":63,"./pem":65}],65:[function(require,module,exports){
+},{"./der":67,"./pem":69}],69:[function(require,module,exports){
 'use strict';
 
 const inherits = require('inherits');
@@ -12820,7 +12882,7 @@ PEMEncoder.prototype.encode = function encode(data, options) {
   return out.join('\n');
 };
 
-},{"./der":63,"inherits":328}],66:[function(require,module,exports){
+},{"./der":67,"inherits":332}],70:[function(require,module,exports){
 (function (module, exports) {
   'use strict';
 
@@ -16268,7 +16330,7 @@ PEMEncoder.prototype.encode = function encode(data, options) {
   };
 })(typeof module === 'undefined' || module, this);
 
-},{"buffer":77}],67:[function(require,module,exports){
+},{"buffer":81}],71:[function(require,module,exports){
 "use strict";
 
 Object.defineProperty(exports, "__esModule", {
@@ -22182,7 +22244,7 @@ function fromJSON(json) {// TODO Implement
 //endregion
 //**************************************************************************************
 
-},{"pvutils":986}],68:[function(require,module,exports){
+},{"pvutils":990}],72:[function(require,module,exports){
 (function (global){(function (){
 'use strict';
 
@@ -22692,7 +22754,7 @@ var objectKeys = Object.keys || function (obj) {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"object-assign":924,"util/":71}],69:[function(require,module,exports){
+},{"object-assign":928,"util/":75}],73:[function(require,module,exports){
 if (typeof Object.create === 'function') {
   // implementation from standard node.js 'util' module
   module.exports = function inherits(ctor, superCtor) {
@@ -22717,14 +22779,14 @@ if (typeof Object.create === 'function') {
   }
 }
 
-},{}],70:[function(require,module,exports){
+},{}],74:[function(require,module,exports){
 module.exports = function isBuffer(arg) {
   return arg && typeof arg === 'object'
     && typeof arg.copy === 'function'
     && typeof arg.fill === 'function'
     && typeof arg.readUInt8 === 'function';
 }
-},{}],71:[function(require,module,exports){
+},{}],75:[function(require,module,exports){
 (function (process,global){(function (){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -23314,7 +23376,7 @@ function hasOwnProperty(obj, prop) {
 }
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./support/isBuffer":70,"_process":974,"inherits":69}],72:[function(require,module,exports){
+},{"./support/isBuffer":74,"_process":978,"inherits":73}],76:[function(require,module,exports){
 /*!
  * assertion-error
  * Copyright(c) 2013 Jake Luer <jake@qualiancy.com>
@@ -23432,7 +23494,7 @@ AssertionError.prototype.toJSON = function (stack) {
   return props;
 };
 
-},{}],73:[function(require,module,exports){
+},{}],77:[function(require,module,exports){
 (function (global){(function (){
 'use strict';
 
@@ -23461,7 +23523,7 @@ module.exports = function availableTypedArrays() {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],74:[function(require,module,exports){
+},{}],78:[function(require,module,exports){
 'use strict'
 
 exports.byteLength = byteLength
@@ -23613,7 +23675,7 @@ function fromByteArray (uint8) {
   return parts.join('')
 }
 
-},{}],75:[function(require,module,exports){
+},{}],79:[function(require,module,exports){
 (function (module, exports) {
   'use strict';
 
@@ -27162,7 +27224,7 @@ function fromByteArray (uint8) {
   };
 })(typeof module === 'undefined' || module, this);
 
-},{"buffer":77}],76:[function(require,module,exports){
+},{"buffer":81}],80:[function(require,module,exports){
 var r;
 
 module.exports = function rand(len) {
@@ -27229,9 +27291,9 @@ if (typeof self === 'object') {
   }
 }
 
-},{"crypto":77}],77:[function(require,module,exports){
+},{"crypto":81}],81:[function(require,module,exports){
 
-},{}],78:[function(require,module,exports){
+},{}],82:[function(require,module,exports){
 // based on the aes implimentation in triple sec
 // https://github.com/keybase/triplesec
 // which is in turn based on the one from crypto-js
@@ -27461,7 +27523,7 @@ AES.prototype.scrub = function () {
 
 module.exports.AES = AES
 
-},{"safe-buffer":993}],79:[function(require,module,exports){
+},{"safe-buffer":997}],83:[function(require,module,exports){
 var aes = require('./aes')
 var Buffer = require('safe-buffer').Buffer
 var Transform = require('cipher-base')
@@ -27580,7 +27642,7 @@ StreamCipher.prototype.setAAD = function setAAD (buf) {
 
 module.exports = StreamCipher
 
-},{"./aes":78,"./ghash":83,"./incr32":84,"buffer-xor":123,"cipher-base":162,"inherits":328,"safe-buffer":993}],80:[function(require,module,exports){
+},{"./aes":82,"./ghash":87,"./incr32":88,"buffer-xor":127,"cipher-base":166,"inherits":332,"safe-buffer":997}],84:[function(require,module,exports){
 var ciphers = require('./encrypter')
 var deciphers = require('./decrypter')
 var modes = require('./modes/list.json')
@@ -27595,7 +27657,7 @@ exports.createDecipher = exports.Decipher = deciphers.createDecipher
 exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv
 exports.listCiphers = exports.getCiphers = getCiphers
 
-},{"./decrypter":81,"./encrypter":82,"./modes/list.json":92}],81:[function(require,module,exports){
+},{"./decrypter":85,"./encrypter":86,"./modes/list.json":96}],85:[function(require,module,exports){
 var AuthCipher = require('./authCipher')
 var Buffer = require('safe-buffer').Buffer
 var MODES = require('./modes')
@@ -27721,7 +27783,7 @@ function createDecipher (suite, password) {
 exports.createDecipher = createDecipher
 exports.createDecipheriv = createDecipheriv
 
-},{"./aes":78,"./authCipher":79,"./modes":91,"./streamCipher":94,"cipher-base":162,"evp_bytestokey":281,"inherits":328,"safe-buffer":993}],82:[function(require,module,exports){
+},{"./aes":82,"./authCipher":83,"./modes":95,"./streamCipher":98,"cipher-base":166,"evp_bytestokey":285,"inherits":332,"safe-buffer":997}],86:[function(require,module,exports){
 var MODES = require('./modes')
 var AuthCipher = require('./authCipher')
 var Buffer = require('safe-buffer').Buffer
@@ -27837,7 +27899,7 @@ function createCipher (suite, password) {
 exports.createCipheriv = createCipheriv
 exports.createCipher = createCipher
 
-},{"./aes":78,"./authCipher":79,"./modes":91,"./streamCipher":94,"cipher-base":162,"evp_bytestokey":281,"inherits":328,"safe-buffer":993}],83:[function(require,module,exports){
+},{"./aes":82,"./authCipher":83,"./modes":95,"./streamCipher":98,"cipher-base":166,"evp_bytestokey":285,"inherits":332,"safe-buffer":997}],87:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 var ZEROES = Buffer.alloc(16, 0)
 
@@ -27928,7 +27990,7 @@ GHASH.prototype.final = function (abl, bl) {
 
 module.exports = GHASH
 
-},{"safe-buffer":993}],84:[function(require,module,exports){
+},{"safe-buffer":997}],88:[function(require,module,exports){
 function incr32 (iv) {
   var len = iv.length
   var item
@@ -27945,7 +28007,7 @@ function incr32 (iv) {
 }
 module.exports = incr32
 
-},{}],85:[function(require,module,exports){
+},{}],89:[function(require,module,exports){
 var xor = require('buffer-xor')
 
 exports.encrypt = function (self, block) {
@@ -27964,7 +28026,7 @@ exports.decrypt = function (self, block) {
   return xor(out, pad)
 }
 
-},{"buffer-xor":123}],86:[function(require,module,exports){
+},{"buffer-xor":127}],90:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 var xor = require('buffer-xor')
 
@@ -27999,7 +28061,7 @@ exports.encrypt = function (self, data, decrypt) {
   return out
 }
 
-},{"buffer-xor":123,"safe-buffer":993}],87:[function(require,module,exports){
+},{"buffer-xor":127,"safe-buffer":997}],91:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 
 function encryptByte (self, byteParam, decrypt) {
@@ -28043,7 +28105,7 @@ exports.encrypt = function (self, chunk, decrypt) {
   return out
 }
 
-},{"safe-buffer":993}],88:[function(require,module,exports){
+},{"safe-buffer":997}],92:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 
 function encryptByte (self, byteParam, decrypt) {
@@ -28070,7 +28132,7 @@ exports.encrypt = function (self, chunk, decrypt) {
   return out
 }
 
-},{"safe-buffer":993}],89:[function(require,module,exports){
+},{"safe-buffer":997}],93:[function(require,module,exports){
 var xor = require('buffer-xor')
 var Buffer = require('safe-buffer').Buffer
 var incr32 = require('../incr32')
@@ -28102,7 +28164,7 @@ exports.encrypt = function (self, chunk) {
   return xor(chunk, pad)
 }
 
-},{"../incr32":84,"buffer-xor":123,"safe-buffer":993}],90:[function(require,module,exports){
+},{"../incr32":88,"buffer-xor":127,"safe-buffer":997}],94:[function(require,module,exports){
 exports.encrypt = function (self, block) {
   return self._cipher.encryptBlock(block)
 }
@@ -28111,7 +28173,7 @@ exports.decrypt = function (self, block) {
   return self._cipher.decryptBlock(block)
 }
 
-},{}],91:[function(require,module,exports){
+},{}],95:[function(require,module,exports){
 var modeModules = {
   ECB: require('./ecb'),
   CBC: require('./cbc'),
@@ -28131,7 +28193,7 @@ for (var key in modes) {
 
 module.exports = modes
 
-},{"./cbc":85,"./cfb":86,"./cfb1":87,"./cfb8":88,"./ctr":89,"./ecb":90,"./list.json":92,"./ofb":93}],92:[function(require,module,exports){
+},{"./cbc":89,"./cfb":90,"./cfb1":91,"./cfb8":92,"./ctr":93,"./ecb":94,"./list.json":96,"./ofb":97}],96:[function(require,module,exports){
 module.exports={
   "aes-128-ecb": {
     "cipher": "AES",
@@ -28324,7 +28386,7 @@ module.exports={
   }
 }
 
-},{}],93:[function(require,module,exports){
+},{}],97:[function(require,module,exports){
 (function (Buffer){(function (){
 var xor = require('buffer-xor')
 
@@ -28344,7 +28406,7 @@ exports.encrypt = function (self, chunk) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"buffer":124,"buffer-xor":123}],94:[function(require,module,exports){
+},{"buffer":128,"buffer-xor":127}],98:[function(require,module,exports){
 var aes = require('./aes')
 var Buffer = require('safe-buffer').Buffer
 var Transform = require('cipher-base')
@@ -28373,7 +28435,7 @@ StreamCipher.prototype._final = function () {
 
 module.exports = StreamCipher
 
-},{"./aes":78,"cipher-base":162,"inherits":328,"safe-buffer":993}],95:[function(require,module,exports){
+},{"./aes":82,"cipher-base":166,"inherits":332,"safe-buffer":997}],99:[function(require,module,exports){
 var DES = require('browserify-des')
 var aes = require('browserify-aes/browser')
 var aesModes = require('browserify-aes/modes')
@@ -28442,7 +28504,7 @@ exports.createDecipher = exports.Decipher = createDecipher
 exports.createDecipheriv = exports.Decipheriv = createDecipheriv
 exports.listCiphers = exports.getCiphers = getCiphers
 
-},{"browserify-aes/browser":80,"browserify-aes/modes":91,"browserify-des":96,"browserify-des/modes":97,"evp_bytestokey":281}],96:[function(require,module,exports){
+},{"browserify-aes/browser":84,"browserify-aes/modes":95,"browserify-des":100,"browserify-des/modes":101,"evp_bytestokey":285}],100:[function(require,module,exports){
 var CipherBase = require('cipher-base')
 var des = require('des.js')
 var inherits = require('inherits')
@@ -28494,7 +28556,7 @@ DES.prototype._final = function () {
   return Buffer.from(this._des.final())
 }
 
-},{"cipher-base":162,"des.js":227,"inherits":328,"safe-buffer":993}],97:[function(require,module,exports){
+},{"cipher-base":166,"des.js":231,"inherits":332,"safe-buffer":997}],101:[function(require,module,exports){
 exports['des-ecb'] = {
   key: 8,
   iv: 0
@@ -28520,7 +28582,7 @@ exports['des-ede'] = {
   iv: 0
 }
 
-},{}],98:[function(require,module,exports){
+},{}],102:[function(require,module,exports){
 (function (Buffer){(function (){
 var BN = require('bn.js')
 var randomBytes = require('randombytes')
@@ -28559,10 +28621,10 @@ crt.getr = getr
 module.exports = crt
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"bn.js":75,"buffer":124,"randombytes":990}],99:[function(require,module,exports){
+},{"bn.js":79,"buffer":128,"randombytes":994}],103:[function(require,module,exports){
 module.exports = require('./browser/algorithms.json')
 
-},{"./browser/algorithms.json":100}],100:[function(require,module,exports){
+},{"./browser/algorithms.json":104}],104:[function(require,module,exports){
 module.exports={
   "sha224WithRSAEncryption": {
     "sign": "rsa",
@@ -28716,7 +28778,7 @@ module.exports={
   }
 }
 
-},{}],101:[function(require,module,exports){
+},{}],105:[function(require,module,exports){
 module.exports={
   "1.3.132.0.10": "secp256k1",
   "1.3.132.0.33": "p224",
@@ -28726,7 +28788,7 @@ module.exports={
   "1.3.132.0.35": "p521"
 }
 
-},{}],102:[function(require,module,exports){
+},{}],106:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 var createHash = require('create-hash')
 var stream = require('readable-stream')
@@ -28820,7 +28882,7 @@ module.exports = {
   createVerify: createVerify
 }
 
-},{"./algorithms.json":100,"./sign":103,"./verify":104,"create-hash":165,"inherits":328,"readable-stream":119,"safe-buffer":993}],103:[function(require,module,exports){
+},{"./algorithms.json":104,"./sign":107,"./verify":108,"create-hash":169,"inherits":332,"readable-stream":123,"safe-buffer":997}],107:[function(require,module,exports){
 // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
 var Buffer = require('safe-buffer').Buffer
 var createHmac = require('create-hmac')
@@ -28965,7 +29027,7 @@ module.exports = sign
 module.exports.getKey = getKey
 module.exports.makeKey = makeKey
 
-},{"./curves.json":101,"bn.js":75,"browserify-rsa":98,"create-hmac":167,"elliptic":244,"parse-asn1":941,"safe-buffer":993}],104:[function(require,module,exports){
+},{"./curves.json":105,"bn.js":79,"browserify-rsa":102,"create-hmac":171,"elliptic":248,"parse-asn1":945,"safe-buffer":997}],108:[function(require,module,exports){
 // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
 var Buffer = require('safe-buffer').Buffer
 var BN = require('bn.js')
@@ -29051,7 +29113,7 @@ function checkValue (b, q) {
 
 module.exports = verify
 
-},{"./curves.json":101,"bn.js":75,"elliptic":244,"parse-asn1":941,"safe-buffer":993}],105:[function(require,module,exports){
+},{"./curves.json":105,"bn.js":79,"elliptic":248,"parse-asn1":945,"safe-buffer":997}],109:[function(require,module,exports){
 'use strict';
 
 function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
@@ -29180,7 +29242,7 @@ createErrorType('ERR_UNKNOWN_ENCODING', function (arg) {
 createErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');
 module.exports.codes = codes;
 
-},{}],106:[function(require,module,exports){
+},{}],110:[function(require,module,exports){
 (function (process){(function (){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -29322,7 +29384,7 @@ Object.defineProperty(Duplex.prototype, 'destroyed', {
   }
 });
 }).call(this)}).call(this,require('_process'))
-},{"./_stream_readable":108,"./_stream_writable":110,"_process":974,"inherits":328}],107:[function(require,module,exports){
+},{"./_stream_readable":112,"./_stream_writable":114,"_process":978,"inherits":332}],111:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -29362,7 +29424,7 @@ function PassThrough(options) {
 PassThrough.prototype._transform = function (chunk, encoding, cb) {
   cb(null, chunk);
 };
-},{"./_stream_transform":109,"inherits":328}],108:[function(require,module,exports){
+},{"./_stream_transform":113,"inherits":332}],112:[function(require,module,exports){
 (function (process,global){(function (){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -30489,7 +30551,7 @@ function indexOf(xs, x) {
   return -1;
 }
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../errors":105,"./_stream_duplex":106,"./internal/streams/async_iterator":111,"./internal/streams/buffer_list":112,"./internal/streams/destroy":113,"./internal/streams/from":115,"./internal/streams/state":117,"./internal/streams/stream":118,"_process":974,"buffer":124,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],109:[function(require,module,exports){
+},{"../errors":109,"./_stream_duplex":110,"./internal/streams/async_iterator":115,"./internal/streams/buffer_list":116,"./internal/streams/destroy":117,"./internal/streams/from":119,"./internal/streams/state":121,"./internal/streams/stream":122,"_process":978,"buffer":128,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],113:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -30691,7 +30753,7 @@ function done(stream, er, data) {
   if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
   return stream.push(null);
 }
-},{"../errors":105,"./_stream_duplex":106,"inherits":328}],110:[function(require,module,exports){
+},{"../errors":109,"./_stream_duplex":110,"inherits":332}],114:[function(require,module,exports){
 (function (process,global){(function (){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -31391,7 +31453,7 @@ Writable.prototype._destroy = function (err, cb) {
   cb(err);
 };
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../errors":105,"./_stream_duplex":106,"./internal/streams/destroy":113,"./internal/streams/state":117,"./internal/streams/stream":118,"_process":974,"buffer":124,"inherits":328,"util-deprecate":1060}],111:[function(require,module,exports){
+},{"../errors":109,"./_stream_duplex":110,"./internal/streams/destroy":117,"./internal/streams/state":121,"./internal/streams/stream":122,"_process":978,"buffer":128,"inherits":332,"util-deprecate":1064}],115:[function(require,module,exports){
 (function (process){(function (){
 'use strict';
 
@@ -31601,7 +31663,7 @@ var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterat
 
 module.exports = createReadableStreamAsyncIterator;
 }).call(this)}).call(this,require('_process'))
-},{"./end-of-stream":114,"_process":974}],112:[function(require,module,exports){
+},{"./end-of-stream":118,"_process":978}],116:[function(require,module,exports){
 'use strict';
 
 function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
@@ -31812,7 +31874,7 @@ function () {
 
   return BufferList;
 }();
-},{"buffer":124,"util":77}],113:[function(require,module,exports){
+},{"buffer":128,"util":81}],117:[function(require,module,exports){
 (function (process){(function (){
 'use strict'; // undocumented cb() API, needed for core, not for public API
 
@@ -31920,7 +31982,7 @@ module.exports = {
   errorOrDestroy: errorOrDestroy
 };
 }).call(this)}).call(this,require('_process'))
-},{"_process":974}],114:[function(require,module,exports){
+},{"_process":978}],118:[function(require,module,exports){
 // Ported from https://github.com/mafintosh/end-of-stream with
 // permission from the author, Mathias Buus (@mafintosh).
 'use strict';
@@ -32025,12 +32087,12 @@ function eos(stream, opts, callback) {
 }
 
 module.exports = eos;
-},{"../../../errors":105}],115:[function(require,module,exports){
+},{"../../../errors":109}],119:[function(require,module,exports){
 module.exports = function () {
   throw new Error('Readable.from is not available in the browser')
 };
 
-},{}],116:[function(require,module,exports){
+},{}],120:[function(require,module,exports){
 // Ported from https://github.com/mafintosh/pump with
 // permission from the author, Mathias Buus (@mafintosh).
 'use strict';
@@ -32128,7 +32190,7 @@ function pipeline() {
 }
 
 module.exports = pipeline;
-},{"../../../errors":105,"./end-of-stream":114}],117:[function(require,module,exports){
+},{"../../../errors":109,"./end-of-stream":118}],121:[function(require,module,exports){
 'use strict';
 
 var ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;
@@ -32156,10 +32218,10 @@ function getHighWaterMark(state, options, duplexKey, isDuplex) {
 module.exports = {
   getHighWaterMark: getHighWaterMark
 };
-},{"../../../errors":105}],118:[function(require,module,exports){
+},{"../../../errors":109}],122:[function(require,module,exports){
 module.exports = require('events').EventEmitter;
 
-},{"events":280}],119:[function(require,module,exports){
+},{"events":284}],123:[function(require,module,exports){
 exports = module.exports = require('./lib/_stream_readable.js');
 exports.Stream = exports;
 exports.Readable = exports;
@@ -32170,7 +32232,7 @@ exports.PassThrough = require('./lib/_stream_passthrough.js');
 exports.finished = require('./lib/internal/streams/end-of-stream.js');
 exports.pipeline = require('./lib/internal/streams/pipeline.js');
 
-},{"./lib/_stream_duplex.js":106,"./lib/_stream_passthrough.js":107,"./lib/_stream_readable.js":108,"./lib/_stream_transform.js":109,"./lib/_stream_writable.js":110,"./lib/internal/streams/end-of-stream.js":114,"./lib/internal/streams/pipeline.js":116}],120:[function(require,module,exports){
+},{"./lib/_stream_duplex.js":110,"./lib/_stream_passthrough.js":111,"./lib/_stream_readable.js":112,"./lib/_stream_transform.js":113,"./lib/_stream_writable.js":114,"./lib/internal/streams/end-of-stream.js":118,"./lib/internal/streams/pipeline.js":120}],124:[function(require,module,exports){
 (function (process,Buffer){(function (){
 'use strict';
 /* eslint camelcase: "off" */
@@ -32582,7 +32644,7 @@ Zlib.prototype._reset = function () {
 
 exports.Zlib = Zlib;
 }).call(this)}).call(this,require('_process'),require("buffer").Buffer)
-},{"_process":974,"assert":68,"buffer":124,"pako/lib/zlib/constants":928,"pako/lib/zlib/deflate.js":930,"pako/lib/zlib/inflate.js":932,"pako/lib/zlib/zstream":936}],121:[function(require,module,exports){
+},{"_process":978,"assert":72,"buffer":128,"pako/lib/zlib/constants":932,"pako/lib/zlib/deflate.js":934,"pako/lib/zlib/inflate.js":936,"pako/lib/zlib/zstream":940}],125:[function(require,module,exports){
 (function (process){(function (){
 'use strict';
 
@@ -33194,9 +33256,9 @@ util.inherits(DeflateRaw, Zlib);
 util.inherits(InflateRaw, Zlib);
 util.inherits(Unzip, Zlib);
 }).call(this)}).call(this,require('_process'))
-},{"./binding":120,"_process":974,"assert":68,"buffer":124,"stream":1004,"util":1063}],122:[function(require,module,exports){
-arguments[4][77][0].apply(exports,arguments)
-},{"dup":77}],123:[function(require,module,exports){
+},{"./binding":124,"_process":978,"assert":72,"buffer":128,"stream":1008,"util":1067}],126:[function(require,module,exports){
+arguments[4][81][0].apply(exports,arguments)
+},{"dup":81}],127:[function(require,module,exports){
 (function (Buffer){(function (){
 module.exports = function xor (a, b) {
   var length = Math.min(a.length, b.length)
@@ -33210,7 +33272,7 @@ module.exports = function xor (a, b) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"buffer":124}],124:[function(require,module,exports){
+},{"buffer":128}],128:[function(require,module,exports){
 (function (Buffer){(function (){
 /*!
  * The buffer module from node.js, for the browser.
@@ -34991,7 +35053,7 @@ function numberIsNaN (obj) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"base64-js":74,"buffer":124,"ieee754":327}],125:[function(require,module,exports){
+},{"base64-js":78,"buffer":128,"ieee754":331}],129:[function(require,module,exports){
 module.exports = {
   "100": "Continue",
   "101": "Switching Protocols",
@@ -35057,7 +35119,7 @@ module.exports = {
   "511": "Network Authentication Required"
 }
 
-},{}],126:[function(require,module,exports){
+},{}],130:[function(require,module,exports){
 'use strict';
 
 var GetIntrinsic = require('get-intrinsic');
@@ -35074,7 +35136,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
 	return intrinsic;
 };
 
-},{"./":127,"get-intrinsic":287}],127:[function(require,module,exports){
+},{"./":131,"get-intrinsic":291}],131:[function(require,module,exports){
 'use strict';
 
 var bind = require('function-bind');
@@ -35123,10 +35185,10 @@ if ($defineProperty) {
 	module.exports.apply = applyBind;
 }
 
-},{"function-bind":285,"get-intrinsic":287}],128:[function(require,module,exports){
+},{"function-bind":289,"get-intrinsic":291}],132:[function(require,module,exports){
 module.exports = require('./lib/chai');
 
-},{"./lib/chai":129}],129:[function(require,module,exports){
+},{"./lib/chai":133}],133:[function(require,module,exports){
 /*!
  * chai
  * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
@@ -35220,7 +35282,7 @@ exports.use(should);
 var assert = require('./chai/interface/assert');
 exports.use(assert);
 
-},{"./chai/assertion":130,"./chai/config":131,"./chai/core/assertions":132,"./chai/interface/assert":133,"./chai/interface/expect":134,"./chai/interface/should":135,"./chai/utils":150,"assertion-error":72}],130:[function(require,module,exports){
+},{"./chai/assertion":134,"./chai/config":135,"./chai/core/assertions":136,"./chai/interface/assert":137,"./chai/interface/expect":138,"./chai/interface/should":139,"./chai/utils":154,"assertion-error":76}],134:[function(require,module,exports){
 /*!
  * chai
  * http://chaijs.com
@@ -35397,7 +35459,7 @@ module.exports = function (_chai, util) {
   });
 };
 
-},{"./config":131}],131:[function(require,module,exports){
+},{"./config":135}],135:[function(require,module,exports){
 module.exports = {
 
   /**
@@ -35493,7 +35555,7 @@ module.exports = {
   proxyExcludedKeys: ['then', 'catch', 'inspect', 'toJSON']
 };
 
-},{}],132:[function(require,module,exports){
+},{}],136:[function(require,module,exports){
 /*!
  * chai
  * http://chaijs.com
@@ -39348,7 +39410,7 @@ module.exports = function (chai, _) {
   });
 };
 
-},{}],133:[function(require,module,exports){
+},{}],137:[function(require,module,exports){
 /*!
  * chai
  * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
@@ -42463,7 +42525,7 @@ module.exports = function (chai, util) {
   ('isNotEmpty', 'notEmpty');
 };
 
-},{}],134:[function(require,module,exports){
+},{}],138:[function(require,module,exports){
 /*!
  * chai
  * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
@@ -42512,7 +42574,7 @@ module.exports = function (chai, util) {
   };
 };
 
-},{}],135:[function(require,module,exports){
+},{}],139:[function(require,module,exports){
 /*!
  * chai
  * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
@@ -42733,7 +42795,7 @@ module.exports = function (chai, util) {
   chai.Should = loadShould;
 };
 
-},{}],136:[function(require,module,exports){
+},{}],140:[function(require,module,exports){
 /*!
  * Chai - addChainingMethod utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -42887,7 +42949,7 @@ module.exports = function addChainableMethod(ctx, name, method, chainingBehavior
   });
 };
 
-},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],137:[function(require,module,exports){
+},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],141:[function(require,module,exports){
 var fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length');
 
 /*!
@@ -42949,7 +43011,7 @@ module.exports = function addLengthGuard (fn, assertionName, isChainable) {
   return fn;
 };
 
-},{}],138:[function(require,module,exports){
+},{}],142:[function(require,module,exports){
 /*!
  * Chai - addMethod utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43019,7 +43081,7 @@ module.exports = function addMethod(ctx, name, method) {
   ctx[name] = proxify(methodWrapper, name);
 };
 
-},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],139:[function(require,module,exports){
+},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],143:[function(require,module,exports){
 /*!
  * Chai - addProperty utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43093,7 +43155,7 @@ module.exports = function addProperty(ctx, name, getter) {
   });
 };
 
-},{"../../chai":129,"./flag":142,"./isProxyEnabled":153,"./transferFlags":160}],140:[function(require,module,exports){
+},{"../../chai":133,"./flag":146,"./isProxyEnabled":157,"./transferFlags":164}],144:[function(require,module,exports){
 /*!
  * Chai - compareByInspect utility
  * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
@@ -43126,7 +43188,7 @@ module.exports = function compareByInspect(a, b) {
   return inspect(a) < inspect(b) ? -1 : 1;
 };
 
-},{"./inspect":151}],141:[function(require,module,exports){
+},{"./inspect":155}],145:[function(require,module,exports){
 /*!
  * Chai - expectTypes utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43179,7 +43241,7 @@ module.exports = function expectTypes(obj, types) {
   }
 };
 
-},{"./flag":142,"assertion-error":72,"type-detect":1056}],142:[function(require,module,exports){
+},{"./flag":146,"assertion-error":76,"type-detect":1060}],146:[function(require,module,exports){
 /*!
  * Chai - flag utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43214,7 +43276,7 @@ module.exports = function flag(obj, key, value) {
   }
 };
 
-},{}],143:[function(require,module,exports){
+},{}],147:[function(require,module,exports){
 /*!
  * Chai - getActual utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43236,7 +43298,7 @@ module.exports = function getActual(obj, args) {
   return args.length > 4 ? args[4] : obj._obj;
 };
 
-},{}],144:[function(require,module,exports){
+},{}],148:[function(require,module,exports){
 /*!
  * Chai - getEnumerableProperties utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43264,7 +43326,7 @@ module.exports = function getEnumerableProperties(object) {
   return result;
 };
 
-},{}],145:[function(require,module,exports){
+},{}],149:[function(require,module,exports){
 /*!
  * Chai - message composition utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43316,7 +43378,7 @@ module.exports = function getMessage(obj, args) {
   return flagMsg ? flagMsg + ': ' + msg : msg;
 };
 
-},{"./flag":142,"./getActual":143,"./objDisplay":154}],146:[function(require,module,exports){
+},{"./flag":146,"./getActual":147,"./objDisplay":158}],150:[function(require,module,exports){
 var type = require('type-detect');
 
 var flag = require('./flag');
@@ -43373,7 +43435,7 @@ module.exports = function getOperator(obj, args) {
   return isObject ? 'deepStrictEqual' : 'strictEqual';
 };
 
-},{"./flag":142,"type-detect":1056}],147:[function(require,module,exports){
+},{"./flag":146,"type-detect":1060}],151:[function(require,module,exports){
 /*!
  * Chai - getOwnEnumerableProperties utility
  * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
@@ -43404,7 +43466,7 @@ module.exports = function getOwnEnumerableProperties(obj) {
   return Object.keys(obj).concat(getOwnEnumerablePropertySymbols(obj));
 };
 
-},{"./getOwnEnumerablePropertySymbols":148}],148:[function(require,module,exports){
+},{"./getOwnEnumerablePropertySymbols":152}],152:[function(require,module,exports){
 /*!
  * Chai - getOwnEnumerablePropertySymbols utility
  * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
@@ -43433,7 +43495,7 @@ module.exports = function getOwnEnumerablePropertySymbols(obj) {
   });
 };
 
-},{}],149:[function(require,module,exports){
+},{}],153:[function(require,module,exports){
 /*!
  * Chai - getProperties utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -43471,7 +43533,7 @@ module.exports = function getProperties(object) {
   return result;
 };
 
-},{}],150:[function(require,module,exports){
+},{}],154:[function(require,module,exports){
 /*!
  * chai
  * Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
@@ -43650,7 +43712,7 @@ exports.isNaN = require('./isNaN');
  */
 
 exports.getOperator = require('./getOperator');
-},{"./addChainableMethod":136,"./addLengthGuard":137,"./addMethod":138,"./addProperty":139,"./compareByInspect":140,"./expectTypes":141,"./flag":142,"./getActual":143,"./getMessage":145,"./getOperator":146,"./getOwnEnumerableProperties":147,"./getOwnEnumerablePropertySymbols":148,"./inspect":151,"./isNaN":152,"./isProxyEnabled":153,"./objDisplay":154,"./overwriteChainableMethod":155,"./overwriteMethod":156,"./overwriteProperty":157,"./proxify":158,"./test":159,"./transferFlags":160,"check-error":161,"deep-eql":226,"get-func-name":286,"pathval":967,"type-detect":1056}],151:[function(require,module,exports){
+},{"./addChainableMethod":140,"./addLengthGuard":141,"./addMethod":142,"./addProperty":143,"./compareByInspect":144,"./expectTypes":145,"./flag":146,"./getActual":147,"./getMessage":149,"./getOperator":150,"./getOwnEnumerableProperties":151,"./getOwnEnumerablePropertySymbols":152,"./inspect":155,"./isNaN":156,"./isProxyEnabled":157,"./objDisplay":158,"./overwriteChainableMethod":159,"./overwriteMethod":160,"./overwriteProperty":161,"./proxify":162,"./test":163,"./transferFlags":164,"check-error":165,"deep-eql":230,"get-func-name":290,"pathval":971,"type-detect":1060}],155:[function(require,module,exports){
 // This is (almost) directly from Node.js utils
 // https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
 
@@ -44031,7 +44093,7 @@ function objectToString(o) {
   return Object.prototype.toString.call(o);
 }
 
-},{"../config":131,"./getEnumerableProperties":144,"./getProperties":149,"get-func-name":286}],152:[function(require,module,exports){
+},{"../config":135,"./getEnumerableProperties":148,"./getProperties":153,"get-func-name":290}],156:[function(require,module,exports){
 /*!
  * Chai - isNaN utility
  * Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
@@ -44059,7 +44121,7 @@ function isNaN(value) {
 // If ECMAScript 6's Number.isNaN is present, prefer that.
 module.exports = Number.isNaN || isNaN;
 
-},{}],153:[function(require,module,exports){
+},{}],157:[function(require,module,exports){
 var config = require('../config');
 
 /*!
@@ -44085,7 +44147,7 @@ module.exports = function isProxyEnabled() {
     typeof Reflect !== 'undefined';
 };
 
-},{"../config":131}],154:[function(require,module,exports){
+},{"../config":135}],158:[function(require,module,exports){
 /*!
  * Chai - flag utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44137,7 +44199,7 @@ module.exports = function objDisplay(obj) {
   }
 };
 
-},{"../config":131,"./inspect":151}],155:[function(require,module,exports){
+},{"../config":135,"./inspect":155}],159:[function(require,module,exports){
 /*!
  * Chai - overwriteChainableMethod utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44208,7 +44270,7 @@ module.exports = function overwriteChainableMethod(ctx, name, method, chainingBe
   };
 };
 
-},{"../../chai":129,"./transferFlags":160}],156:[function(require,module,exports){
+},{"../../chai":133,"./transferFlags":164}],160:[function(require,module,exports){
 /*!
  * Chai - overwriteMethod utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44302,7 +44364,7 @@ module.exports = function overwriteMethod(ctx, name, method) {
   ctx[name] = proxify(overwritingMethodWrapper, name);
 };
 
-},{"../../chai":129,"./addLengthGuard":137,"./flag":142,"./proxify":158,"./transferFlags":160}],157:[function(require,module,exports){
+},{"../../chai":133,"./addLengthGuard":141,"./flag":146,"./proxify":162,"./transferFlags":164}],161:[function(require,module,exports){
 /*!
  * Chai - overwriteProperty utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44396,7 +44458,7 @@ module.exports = function overwriteProperty(ctx, name, getter) {
   });
 };
 
-},{"../../chai":129,"./flag":142,"./isProxyEnabled":153,"./transferFlags":160}],158:[function(require,module,exports){
+},{"../../chai":133,"./flag":146,"./isProxyEnabled":157,"./transferFlags":164}],162:[function(require,module,exports){
 var config = require('../config');
 var flag = require('./flag');
 var getProperties = require('./getProperties');
@@ -44545,7 +44607,7 @@ function stringDistanceCapped(strA, strB, cap) {
   return memo[strA.length][strB.length];
 }
 
-},{"../config":131,"./flag":142,"./getProperties":149,"./isProxyEnabled":153}],159:[function(require,module,exports){
+},{"../config":135,"./flag":146,"./getProperties":153,"./isProxyEnabled":157}],163:[function(require,module,exports){
 /*!
  * Chai - test utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44575,7 +44637,7 @@ module.exports = function test(obj, args) {
   return negate ? !expr : expr;
 };
 
-},{"./flag":142}],160:[function(require,module,exports){
+},{"./flag":146}],164:[function(require,module,exports){
 /*!
  * Chai - transferFlags utility
  * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
@@ -44622,7 +44684,7 @@ module.exports = function transferFlags(assertion, object, includeAll) {
   }
 };
 
-},{}],161:[function(require,module,exports){
+},{}],165:[function(require,module,exports){
 'use strict';
 
 /* !
@@ -44796,7 +44858,7 @@ module.exports = {
   getConstructorName: getConstructorName,
 };
 
-},{}],162:[function(require,module,exports){
+},{}],166:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 var Transform = require('stream').Transform
 var StringDecoder = require('string_decoder').StringDecoder
@@ -44897,7 +44959,7 @@ CipherBase.prototype._toString = function (value, enc, fin) {
 
 module.exports = CipherBase
 
-},{"inherits":328,"safe-buffer":993,"stream":1004,"string_decoder":1038}],163:[function(require,module,exports){
+},{"inherits":332,"safe-buffer":997,"stream":1008,"string_decoder":1042}],167:[function(require,module,exports){
 (function (Buffer){(function (){
 var elliptic = require('elliptic')
 var BN = require('bn.js')
@@ -45025,9 +45087,9 @@ function formatReturnValue (bn, enc, len) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"bn.js":164,"buffer":124,"elliptic":244}],164:[function(require,module,exports){
-arguments[4][66][0].apply(exports,arguments)
-},{"buffer":77,"dup":66}],165:[function(require,module,exports){
+},{"bn.js":168,"buffer":128,"elliptic":248}],168:[function(require,module,exports){
+arguments[4][70][0].apply(exports,arguments)
+},{"buffer":81,"dup":70}],169:[function(require,module,exports){
 'use strict'
 var inherits = require('inherits')
 var MD5 = require('md5.js')
@@ -45059,14 +45121,14 @@ module.exports = function createHash (alg) {
   return new Hash(sha(alg))
 }
 
-},{"cipher-base":162,"inherits":328,"md5.js":917,"ripemd160":992,"sha.js":997}],166:[function(require,module,exports){
+},{"cipher-base":166,"inherits":332,"md5.js":921,"ripemd160":996,"sha.js":1001}],170:[function(require,module,exports){
 var MD5 = require('md5.js')
 
 module.exports = function (buffer) {
   return new MD5().update(buffer).digest()
 }
 
-},{"md5.js":917}],167:[function(require,module,exports){
+},{"md5.js":921}],171:[function(require,module,exports){
 'use strict'
 var inherits = require('inherits')
 var Legacy = require('./legacy')
@@ -45130,7 +45192,7 @@ module.exports = function createHmac (alg, key) {
   return new Hmac(alg, key)
 }
 
-},{"./legacy":168,"cipher-base":162,"create-hash/md5":166,"inherits":328,"ripemd160":992,"safe-buffer":993,"sha.js":997}],168:[function(require,module,exports){
+},{"./legacy":172,"cipher-base":166,"create-hash/md5":170,"inherits":332,"ripemd160":996,"safe-buffer":997,"sha.js":1001}],172:[function(require,module,exports){
 'use strict'
 var inherits = require('inherits')
 var Buffer = require('safe-buffer').Buffer
@@ -45178,7 +45240,7 @@ Hmac.prototype._final = function () {
 }
 module.exports = Hmac
 
-},{"cipher-base":162,"inherits":328,"safe-buffer":993}],169:[function(require,module,exports){
+},{"cipher-base":166,"inherits":332,"safe-buffer":997}],173:[function(require,module,exports){
 'use strict'
 
 exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = require('randombytes')
@@ -45277,7 +45339,7 @@ exports.constants = {
   'POINT_CONVERSION_HYBRID': 6
 }
 
-},{"browserify-cipher":95,"browserify-sign":102,"browserify-sign/algos":99,"create-ecdh":163,"create-hash":165,"create-hmac":167,"diffie-hellman":233,"pbkdf2":968,"public-encrypt":977,"randombytes":990,"randomfill":991}],170:[function(require,module,exports){
+},{"browserify-cipher":99,"browserify-sign":106,"browserify-sign/algos":103,"create-ecdh":167,"create-hash":169,"create-hmac":171,"diffie-hellman":237,"pbkdf2":972,"public-encrypt":981,"randombytes":994,"randomfill":995}],174:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
     CSSRule: require("./CSSRule").CSSRule,
@@ -45318,7 +45380,7 @@ Object.defineProperty(CSSOM.CSSDocumentRule.prototype, "cssText", {
 exports.CSSDocumentRule = CSSOM.CSSDocumentRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./MatcherList":184}],171:[function(require,module,exports){
+},{"./CSSRule":181,"./MatcherList":188}],175:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration,
@@ -45356,7 +45418,7 @@ Object.defineProperty(CSSOM.CSSFontFaceRule.prototype, "cssText", {
 exports.CSSFontFaceRule = CSSOM.CSSFontFaceRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./CSSStyleDeclaration":178}],172:[function(require,module,exports){
+},{"./CSSRule":181,"./CSSStyleDeclaration":182}],176:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule
@@ -45395,7 +45457,7 @@ Object.defineProperty(CSSOM.CSSHostRule.prototype, "cssText", {
 exports.CSSHostRule = CSSOM.CSSHostRule;
 ///CommonJS
 
-},{"./CSSRule":177}],173:[function(require,module,exports){
+},{"./CSSRule":181}],177:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule,
@@ -45529,7 +45591,7 @@ Object.defineProperty(CSSOM.CSSImportRule.prototype, "cssText", {
 exports.CSSImportRule = CSSOM.CSSImportRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./CSSStyleSheet":180,"./MediaList":185}],174:[function(require,module,exports){
+},{"./CSSRule":181,"./CSSStyleSheet":184,"./MediaList":189}],178:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule,
@@ -45568,7 +45630,7 @@ Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", {
 exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./CSSStyleDeclaration":178}],175:[function(require,module,exports){
+},{"./CSSRule":181,"./CSSStyleDeclaration":182}],179:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule
@@ -45609,7 +45671,7 @@ Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", {
 exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule;
 ///CommonJS
 
-},{"./CSSRule":177}],176:[function(require,module,exports){
+},{"./CSSRule":181}],180:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule,
@@ -45652,7 +45714,7 @@ Object.defineProperty(CSSOM.CSSMediaRule.prototype, "cssText", {
 exports.CSSMediaRule = CSSOM.CSSMediaRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./MediaList":185}],177:[function(require,module,exports){
+},{"./CSSRule":181,"./MediaList":189}],181:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -45697,7 +45759,7 @@ CSSOM.CSSRule.prototype = {
 exports.CSSRule = CSSOM.CSSRule;
 ///CommonJS
 
-},{}],178:[function(require,module,exports){
+},{}],182:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -45847,7 +45909,7 @@ exports.CSSStyleDeclaration = CSSOM.CSSStyleDeclaration;
 CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleDeclaration.js
 ///CommonJS
 
-},{"./parse":189}],179:[function(require,module,exports){
+},{"./parse":193}],183:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSStyleDeclaration: require("./CSSStyleDeclaration").CSSStyleDeclaration,
@@ -46039,7 +46101,7 @@ CSSOM.CSSStyleRule.parse = function(ruleText) {
 exports.CSSStyleRule = CSSOM.CSSStyleRule;
 ///CommonJS
 
-},{"./CSSRule":177,"./CSSStyleDeclaration":178}],180:[function(require,module,exports){
+},{"./CSSRule":181,"./CSSStyleDeclaration":182}],184:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	StyleSheet: require("./StyleSheet").StyleSheet,
@@ -46129,7 +46191,7 @@ exports.CSSStyleSheet = CSSOM.CSSStyleSheet;
 CSSOM.parse = require('./parse').parse; // Cannot be included sooner due to the mutual dependency between parse.js and CSSStyleSheet.js
 ///CommonJS
 
-},{"./CSSStyleRule":179,"./StyleSheet":186,"./parse":189}],181:[function(require,module,exports){
+},{"./CSSStyleRule":183,"./StyleSheet":190,"./parse":193}],185:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
   CSSRule: require("./CSSRule").CSSRule,
@@ -46167,7 +46229,7 @@ Object.defineProperty(CSSOM.CSSSupportsRule.prototype, "cssText", {
 exports.CSSSupportsRule = CSSOM.CSSSupportsRule;
 ///CommonJS
 
-},{"./CSSRule":177}],182:[function(require,module,exports){
+},{"./CSSRule":181}],186:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -46212,7 +46274,7 @@ CSSOM.CSSValue.prototype = {
 exports.CSSValue = CSSOM.CSSValue;
 ///CommonJS
 
-},{}],183:[function(require,module,exports){
+},{}],187:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSValue: require('./CSSValue').CSSValue
@@ -46558,7 +46620,7 @@ CSSOM.CSSValueExpression.prototype._findMatchedIdx = function(token, idx, sep) {
 exports.CSSValueExpression = CSSOM.CSSValueExpression;
 ///CommonJS
 
-},{"./CSSValue":182}],184:[function(require,module,exports){
+},{"./CSSValue":186}],188:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -46622,7 +46684,7 @@ CSSOM.MatcherList.prototype = {
 exports.MatcherList = CSSOM.MatcherList;
 ///CommonJS
 
-},{}],185:[function(require,module,exports){
+},{}],189:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -46685,7 +46747,7 @@ CSSOM.MediaList.prototype = {
 exports.MediaList = CSSOM.MediaList;
 ///CommonJS
 
-},{}],186:[function(require,module,exports){
+},{}],190:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -46704,7 +46766,7 @@ CSSOM.StyleSheet = function StyleSheet() {
 exports.StyleSheet = CSSOM.StyleSheet;
 ///CommonJS
 
-},{}],187:[function(require,module,exports){
+},{}],191:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSStyleSheet: require("./CSSStyleSheet").CSSStyleSheet,
@@ -46777,7 +46839,7 @@ CSSOM.clone = function clone(stylesheet) {
 exports.clone = CSSOM.clone;
 ///CommonJS
 
-},{"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181}],188:[function(require,module,exports){
+},{"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185}],192:[function(require,module,exports){
 'use strict';
 
 exports.CSSStyleDeclaration = require('./CSSStyleDeclaration').CSSStyleDeclaration;
@@ -46800,7 +46862,7 @@ exports.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression;
 exports.parse = require('./parse').parse;
 exports.clone = require('./clone').clone;
 
-},{"./CSSDocumentRule":170,"./CSSFontFaceRule":171,"./CSSHostRule":172,"./CSSImportRule":173,"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSRule":177,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181,"./CSSValue":182,"./CSSValueExpression":183,"./MatcherList":184,"./MediaList":185,"./StyleSheet":186,"./clone":187,"./parse":189}],189:[function(require,module,exports){
+},{"./CSSDocumentRule":174,"./CSSFontFaceRule":175,"./CSSHostRule":176,"./CSSImportRule":177,"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSRule":181,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185,"./CSSValue":186,"./CSSValueExpression":187,"./MatcherList":188,"./MediaList":189,"./StyleSheet":190,"./clone":191,"./parse":193}],193:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -47265,7 +47327,7 @@ CSSOM.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression;
 CSSOM.CSSDocumentRule = require('./CSSDocumentRule').CSSDocumentRule;
 ///CommonJS
 
-},{"./CSSDocumentRule":170,"./CSSFontFaceRule":171,"./CSSHostRule":172,"./CSSImportRule":173,"./CSSKeyframeRule":174,"./CSSKeyframesRule":175,"./CSSMediaRule":176,"./CSSStyleDeclaration":178,"./CSSStyleRule":179,"./CSSStyleSheet":180,"./CSSSupportsRule":181,"./CSSValueExpression":183}],190:[function(require,module,exports){
+},{"./CSSDocumentRule":174,"./CSSFontFaceRule":175,"./CSSHostRule":176,"./CSSImportRule":177,"./CSSKeyframeRule":178,"./CSSKeyframesRule":179,"./CSSMediaRule":180,"./CSSStyleDeclaration":182,"./CSSStyleRule":183,"./CSSStyleSheet":184,"./CSSSupportsRule":185,"./CSSValueExpression":187}],194:[function(require,module,exports){
 /*********************************************************************
  * This is a fork from the CSS Style Declaration part of
  * https://github.com/NV/CSSOM
@@ -47527,7 +47589,7 @@ allExtraProperties.forEach(function(property) {
 
 exports.CSSStyleDeclaration = CSSStyleDeclaration;
 
-},{"./allExtraProperties":191,"./allProperties":192,"./implementedProperties":195,"./parsers":197,"./properties":198,"./utils/getBasicPropertyDescriptor":200,"cssom":219}],191:[function(require,module,exports){
+},{"./allExtraProperties":195,"./allProperties":196,"./implementedProperties":199,"./parsers":201,"./properties":202,"./utils/getBasicPropertyDescriptor":204,"cssom":223}],195:[function(require,module,exports){
 'use strict';
 
 /**
@@ -47596,7 +47658,7 @@ module.exports = new Set(
   ].concat(allWebkitProperties)
 );
 
-},{"./allWebkitProperties":193}],192:[function(require,module,exports){
+},{"./allWebkitProperties":197}],196:[function(require,module,exports){
 'use strict';
 
 // autogenerated - 4/29/2020
@@ -48060,7 +48122,7 @@ module.exports = new Set([
   'z-index',
 ]);
 
-},{}],193:[function(require,module,exports){
+},{}],197:[function(require,module,exports){
 'use strict';
 
 /**
@@ -48256,7 +48318,7 @@ module.exports = [
   'zoom',
 ].map(prop => 'webkit-' + prop);
 
-},{}],194:[function(require,module,exports){
+},{}],198:[function(require,module,exports){
 'use strict';
 
 module.exports.POSITION_AT_SHORTHAND = {
@@ -48264,7 +48326,7 @@ module.exports.POSITION_AT_SHORTHAND = {
   second: 1,
 };
 
-},{}],195:[function(require,module,exports){
+},{}],199:[function(require,module,exports){
 'use strict';
 
 // autogenerated - 4/29/2020
@@ -48356,7 +48418,7 @@ implementedProperties.add("webkit-text-stroke-color");
 implementedProperties.add("width");
 module.exports = implementedProperties;
 
-},{}],196:[function(require,module,exports){
+},{}],200:[function(require,module,exports){
 module.exports=[
   "aliceblue",
   "antiquewhite",
@@ -48510,7 +48572,7 @@ module.exports=[
   "currentcolor"
 ]
 
-},{}],197:[function(require,module,exports){
+},{}],201:[function(require,module,exports){
 /*********************************************************************
  * These are commonly used parsers for CSS Values they take a string *
  * to parse and return a string after it's been converted, if needed *
@@ -49234,7 +49296,7 @@ exports.camelToDashed = function(camel_case) {
   return dashed;
 };
 
-},{"./named_colors.json":196,"./utils/colorSpace":199}],198:[function(require,module,exports){
+},{"./named_colors.json":200,"./utils/colorSpace":203}],202:[function(require,module,exports){
 'use strict';
 
 // autogenerated - 4/29/2020
@@ -51069,7 +51131,7 @@ module.exports = function (prototype) {
   });
 };
 
-},{"./constants.js":194,"./parsers.js":197}],199:[function(require,module,exports){
+},{"./constants.js":198,"./parsers.js":201}],203:[function(require,module,exports){
 'use strict';
 
 const hueToRgb = (t1, t2, hue) => {
@@ -51092,7 +51154,7 @@ exports.hslToRgb = (hue, sat, light) => {
   return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
 };
 
-},{}],200:[function(require,module,exports){
+},{}],204:[function(require,module,exports){
 'use strict';
 
 module.exports = function getBasicPropertyDescriptor(name) {
@@ -51108,15 +51170,15 @@ module.exports = function getBasicPropertyDescriptor(name) {
   };
 };
 
-},{}],201:[function(require,module,exports){
-arguments[4][170][0].apply(exports,arguments)
-},{"./CSSRule":208,"./MatcherList":215,"dup":170}],202:[function(require,module,exports){
-arguments[4][171][0].apply(exports,arguments)
-},{"./CSSRule":208,"./CSSStyleDeclaration":209,"dup":171}],203:[function(require,module,exports){
-arguments[4][172][0].apply(exports,arguments)
-},{"./CSSRule":208,"dup":172}],204:[function(require,module,exports){
-arguments[4][173][0].apply(exports,arguments)
-},{"./CSSRule":208,"./CSSStyleSheet":211,"./MediaList":216,"dup":173}],205:[function(require,module,exports){
+},{}],205:[function(require,module,exports){
+arguments[4][174][0].apply(exports,arguments)
+},{"./CSSRule":212,"./MatcherList":219,"dup":174}],206:[function(require,module,exports){
+arguments[4][175][0].apply(exports,arguments)
+},{"./CSSRule":212,"./CSSStyleDeclaration":213,"dup":175}],207:[function(require,module,exports){
+arguments[4][176][0].apply(exports,arguments)
+},{"./CSSRule":212,"dup":176}],208:[function(require,module,exports){
+arguments[4][177][0].apply(exports,arguments)
+},{"./CSSRule":212,"./CSSStyleSheet":215,"./MediaList":220,"dup":177}],209:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule,
@@ -51155,7 +51217,7 @@ Object.defineProperty(CSSOM.CSSKeyframeRule.prototype, "cssText", {
 exports.CSSKeyframeRule = CSSOM.CSSKeyframeRule;
 ///CommonJS
 
-},{"./CSSRule":208,"./CSSStyleDeclaration":209}],206:[function(require,module,exports){
+},{"./CSSRule":212,"./CSSStyleDeclaration":213}],210:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSRule: require("./CSSRule").CSSRule
@@ -51196,29 +51258,29 @@ Object.defineProperty(CSSOM.CSSKeyframesRule.prototype, "cssText", {
 exports.CSSKeyframesRule = CSSOM.CSSKeyframesRule;
 ///CommonJS
 
-},{"./CSSRule":208}],207:[function(require,module,exports){
-arguments[4][176][0].apply(exports,arguments)
-},{"./CSSRule":208,"./MediaList":216,"dup":176}],208:[function(require,module,exports){
-arguments[4][177][0].apply(exports,arguments)
-},{"dup":177}],209:[function(require,module,exports){
-arguments[4][178][0].apply(exports,arguments)
-},{"./parse":220,"dup":178}],210:[function(require,module,exports){
-arguments[4][179][0].apply(exports,arguments)
-},{"./CSSRule":208,"./CSSStyleDeclaration":209,"dup":179}],211:[function(require,module,exports){
+},{"./CSSRule":212}],211:[function(require,module,exports){
 arguments[4][180][0].apply(exports,arguments)
-},{"./CSSStyleRule":210,"./StyleSheet":217,"./parse":220,"dup":180}],212:[function(require,module,exports){
+},{"./CSSRule":212,"./MediaList":220,"dup":180}],212:[function(require,module,exports){
 arguments[4][181][0].apply(exports,arguments)
-},{"./CSSRule":208,"dup":181}],213:[function(require,module,exports){
+},{"dup":181}],213:[function(require,module,exports){
 arguments[4][182][0].apply(exports,arguments)
-},{"dup":182}],214:[function(require,module,exports){
+},{"./parse":224,"dup":182}],214:[function(require,module,exports){
 arguments[4][183][0].apply(exports,arguments)
-},{"./CSSValue":213,"dup":183}],215:[function(require,module,exports){
+},{"./CSSRule":212,"./CSSStyleDeclaration":213,"dup":183}],215:[function(require,module,exports){
 arguments[4][184][0].apply(exports,arguments)
-},{"dup":184}],216:[function(require,module,exports){
+},{"./CSSStyleRule":214,"./StyleSheet":221,"./parse":224,"dup":184}],216:[function(require,module,exports){
 arguments[4][185][0].apply(exports,arguments)
-},{"dup":185}],217:[function(require,module,exports){
+},{"./CSSRule":212,"dup":185}],217:[function(require,module,exports){
 arguments[4][186][0].apply(exports,arguments)
 },{"dup":186}],218:[function(require,module,exports){
+arguments[4][187][0].apply(exports,arguments)
+},{"./CSSValue":217,"dup":187}],219:[function(require,module,exports){
+arguments[4][188][0].apply(exports,arguments)
+},{"dup":188}],220:[function(require,module,exports){
+arguments[4][189][0].apply(exports,arguments)
+},{"dup":189}],221:[function(require,module,exports){
+arguments[4][190][0].apply(exports,arguments)
+},{"dup":190}],222:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {
 	CSSStyleSheet: require("./CSSStyleSheet").CSSStyleSheet,
@@ -51302,9 +51364,9 @@ CSSOM.clone = function clone(stylesheet) {
 exports.clone = CSSOM.clone;
 ///CommonJS
 
-},{"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212}],219:[function(require,module,exports){
-arguments[4][188][0].apply(exports,arguments)
-},{"./CSSDocumentRule":201,"./CSSFontFaceRule":202,"./CSSHostRule":203,"./CSSImportRule":204,"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSRule":208,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212,"./CSSValue":213,"./CSSValueExpression":214,"./MatcherList":215,"./MediaList":216,"./StyleSheet":217,"./clone":218,"./parse":220,"dup":188}],220:[function(require,module,exports){
+},{"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216}],223:[function(require,module,exports){
+arguments[4][192][0].apply(exports,arguments)
+},{"./CSSDocumentRule":205,"./CSSFontFaceRule":206,"./CSSHostRule":207,"./CSSImportRule":208,"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSRule":212,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216,"./CSSValue":217,"./CSSValueExpression":218,"./MatcherList":219,"./MediaList":220,"./StyleSheet":221,"./clone":222,"./parse":224,"dup":192}],224:[function(require,module,exports){
 //.CommonJS
 var CSSOM = {};
 ///CommonJS
@@ -51770,7 +51832,7 @@ CSSOM.CSSValueExpression = require('./CSSValueExpression').CSSValueExpression;
 CSSOM.CSSDocumentRule = require('./CSSDocumentRule').CSSDocumentRule;
 ///CommonJS
 
-},{"./CSSDocumentRule":201,"./CSSFontFaceRule":202,"./CSSHostRule":203,"./CSSImportRule":204,"./CSSKeyframeRule":205,"./CSSKeyframesRule":206,"./CSSMediaRule":207,"./CSSStyleDeclaration":209,"./CSSStyleRule":210,"./CSSStyleSheet":211,"./CSSSupportsRule":212,"./CSSValueExpression":214}],221:[function(require,module,exports){
+},{"./CSSDocumentRule":205,"./CSSFontFaceRule":206,"./CSSHostRule":207,"./CSSImportRule":208,"./CSSKeyframeRule":209,"./CSSKeyframesRule":210,"./CSSMediaRule":211,"./CSSStyleDeclaration":213,"./CSSStyleRule":214,"./CSSStyleSheet":215,"./CSSSupportsRule":216,"./CSSValueExpression":218}],225:[function(require,module,exports){
 "use strict";
 const MIMEType = require("whatwg-mimetype");
 const { parseURL, serializeURL } = require("whatwg-url");
@@ -51846,7 +51908,7 @@ module.exports.fromURLRecord = urlRecord => {
   };
 };
 
-},{"./utils.js":222,"whatwg-mimetype":1098,"whatwg-url":1113}],222:[function(require,module,exports){
+},{"./utils.js":226,"whatwg-mimetype":1102,"whatwg-url":1117}],226:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 const { percentDecode } = require("whatwg-url");
@@ -51873,7 +51935,7 @@ exports.forgivingBase64Decode = data => {
 };
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"abab":44,"buffer":124,"whatwg-url":1113}],223:[function(require,module,exports){
+},{"abab":48,"buffer":128,"whatwg-url":1117}],227:[function(require,module,exports){
 (function (process){(function (){
 /* eslint-env browser */
 
@@ -52146,7 +52208,7 @@ formatters.j = function (v) {
 };
 
 }).call(this)}).call(this,require('_process'))
-},{"./common":224,"_process":974}],224:[function(require,module,exports){
+},{"./common":228,"_process":978}],228:[function(require,module,exports){
 
 /**
  * This is the common logic for both the Node.js and web browser
@@ -52422,7 +52484,7 @@ function setup(env) {
 
 module.exports = setup;
 
-},{"ms":922}],225:[function(require,module,exports){
+},{"ms":926}],229:[function(require,module,exports){
 ;(function (globalScope) {
   'use strict';
 
@@ -57358,7 +57420,7 @@ module.exports = setup;
   }
 })(this);
 
-},{}],226:[function(require,module,exports){
+},{}],230:[function(require,module,exports){
 'use strict';
 /* globals Symbol: false, Uint8Array: false, WeakMap: false */
 /*!
@@ -57815,7 +57877,7 @@ function isPrimitive(value) {
   return value === null || typeof value !== 'object';
 }
 
-},{"type-detect":1056}],227:[function(require,module,exports){
+},{"type-detect":1060}],231:[function(require,module,exports){
 'use strict';
 
 exports.utils = require('./des/utils');
@@ -57824,7 +57886,7 @@ exports.DES = require('./des/des');
 exports.CBC = require('./des/cbc');
 exports.EDE = require('./des/ede');
 
-},{"./des/cbc":228,"./des/cipher":229,"./des/des":230,"./des/ede":231,"./des/utils":232}],228:[function(require,module,exports){
+},{"./des/cbc":232,"./des/cipher":233,"./des/des":234,"./des/ede":235,"./des/utils":236}],232:[function(require,module,exports){
 'use strict';
 
 var assert = require('minimalistic-assert');
@@ -57891,7 +57953,7 @@ proto._update = function _update(inp, inOff, out, outOff) {
   }
 };
 
-},{"inherits":328,"minimalistic-assert":920}],229:[function(require,module,exports){
+},{"inherits":332,"minimalistic-assert":924}],233:[function(require,module,exports){
 'use strict';
 
 var assert = require('minimalistic-assert');
@@ -58034,7 +58096,7 @@ Cipher.prototype._finalDecrypt = function _finalDecrypt() {
   return this._unpad(out);
 };
 
-},{"minimalistic-assert":920}],230:[function(require,module,exports){
+},{"minimalistic-assert":924}],234:[function(require,module,exports){
 'use strict';
 
 var assert = require('minimalistic-assert');
@@ -58178,7 +58240,7 @@ DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {
   utils.rip(l, r, out, off);
 };
 
-},{"./cipher":229,"./utils":232,"inherits":328,"minimalistic-assert":920}],231:[function(require,module,exports){
+},{"./cipher":233,"./utils":236,"inherits":332,"minimalistic-assert":924}],235:[function(require,module,exports){
 'use strict';
 
 var assert = require('minimalistic-assert');
@@ -58234,7 +58296,7 @@ EDE.prototype._update = function _update(inp, inOff, out, outOff) {
 EDE.prototype._pad = DES.prototype._pad;
 EDE.prototype._unpad = DES.prototype._unpad;
 
-},{"./cipher":229,"./des":230,"inherits":328,"minimalistic-assert":920}],232:[function(require,module,exports){
+},{"./cipher":233,"./des":234,"inherits":332,"minimalistic-assert":924}],236:[function(require,module,exports){
 'use strict';
 
 exports.readUInt32BE = function readUInt32BE(bytes, off) {
@@ -58492,7 +58554,7 @@ exports.padSplit = function padSplit(num, size, group) {
   return out.join(' ');
 };
 
-},{}],233:[function(require,module,exports){
+},{}],237:[function(require,module,exports){
 (function (Buffer){(function (){
 var generatePrime = require('./lib/generatePrime')
 var primes = require('./lib/primes.json')
@@ -58538,7 +58600,7 @@ exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffi
 exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./lib/dh":234,"./lib/generatePrime":235,"./lib/primes.json":236,"buffer":124}],234:[function(require,module,exports){
+},{"./lib/dh":238,"./lib/generatePrime":239,"./lib/primes.json":240,"buffer":128}],238:[function(require,module,exports){
 (function (Buffer){(function (){
 var BN = require('bn.js');
 var MillerRabin = require('miller-rabin');
@@ -58706,7 +58768,7 @@ function formatReturnValue(bn, enc) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./generatePrime":235,"bn.js":237,"buffer":124,"miller-rabin":918,"randombytes":990}],235:[function(require,module,exports){
+},{"./generatePrime":239,"bn.js":241,"buffer":128,"miller-rabin":922,"randombytes":994}],239:[function(require,module,exports){
 var randomBytes = require('randombytes');
 module.exports = findPrime;
 findPrime.simpleSieve = simpleSieve;
@@ -58813,7 +58875,7 @@ function findPrime(bits, gen) {
 
 }
 
-},{"bn.js":237,"miller-rabin":918,"randombytes":990}],236:[function(require,module,exports){
+},{"bn.js":241,"miller-rabin":922,"randombytes":994}],240:[function(require,module,exports){
 module.exports={
     "modp1": {
         "gen": "02",
@@ -58848,9 +58910,9 @@ module.exports={
         "prime": "ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"
     }
 }
-},{}],237:[function(require,module,exports){
-arguments[4][66][0].apply(exports,arguments)
-},{"buffer":77,"dup":66}],238:[function(require,module,exports){
+},{}],241:[function(require,module,exports){
+arguments[4][70][0].apply(exports,arguments)
+},{"buffer":81,"dup":70}],242:[function(require,module,exports){
 "use strict";
 const legacyErrorCodes = require("./legacy-error-codes.json");
 const idlUtils = require("./utils.js");
@@ -58874,7 +58936,7 @@ exports.init = impl => {
   }
 };
 
-},{"./legacy-error-codes.json":240,"./utils.js":241}],239:[function(require,module,exports){
+},{"./legacy-error-codes.json":244,"./utils.js":245}],243:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -59081,7 +59143,7 @@ module.exports = iface;
 
 const Impl = require("./DOMException-impl.js");
 
-},{"./DOMException-impl.js":238,"./utils.js":241,"webidl-conversions":242}],240:[function(require,module,exports){
+},{"./DOMException-impl.js":242,"./utils.js":245,"webidl-conversions":246}],244:[function(require,module,exports){
 module.exports={
   "IndexSizeError": 1,
   "DOMStringSizeError": 2,
@@ -59110,7 +59172,7 @@ module.exports={
   "DataCloneError": 25
 }
 
-},{}],241:[function(require,module,exports){
+},{}],245:[function(require,module,exports){
 "use strict";
 
 // Returns "Type(value) is Object" in ES terminology.
@@ -59227,7 +59289,7 @@ module.exports = exports = {
   namedDelete
 };
 
-},{}],242:[function(require,module,exports){
+},{}],246:[function(require,module,exports){
 "use strict";
 
 function _(message, opts) {
@@ -59590,7 +59652,7 @@ exports.Function = convertCallbackFunction;
 
 exports.VoidFunction = convertCallbackFunction;
 
-},{}],243:[function(require,module,exports){
+},{}],247:[function(require,module,exports){
 "use strict";
 const DOMException = require("./lib/DOMException.js");
 
@@ -59607,7 +59669,7 @@ function installOverride(globalObject) {
 
 module.exports = {...DOMException, install: installOverride };
 
-},{"./lib/DOMException.js":239}],244:[function(require,module,exports){
+},{"./lib/DOMException.js":243}],248:[function(require,module,exports){
 'use strict';
 
 var elliptic = exports;
@@ -59622,7 +59684,7 @@ elliptic.curves = require('./elliptic/curves');
 elliptic.ec = require('./elliptic/ec');
 elliptic.eddsa = require('./elliptic/eddsa');
 
-},{"../package.json":260,"./elliptic/curve":247,"./elliptic/curves":250,"./elliptic/ec":251,"./elliptic/eddsa":254,"./elliptic/utils":258,"brorand":76}],245:[function(require,module,exports){
+},{"../package.json":264,"./elliptic/curve":251,"./elliptic/curves":254,"./elliptic/ec":255,"./elliptic/eddsa":258,"./elliptic/utils":262,"brorand":80}],249:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -60005,7 +60067,7 @@ BasePoint.prototype.dblp = function dblp(k) {
   return r;
 };
 
-},{"../utils":258,"bn.js":259}],246:[function(require,module,exports){
+},{"../utils":262,"bn.js":263}],250:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -60442,7 +60504,7 @@ Point.prototype.eqXToP = function eqXToP(x) {
 Point.prototype.toP = Point.prototype.normalize;
 Point.prototype.mixedAdd = Point.prototype.add;
 
-},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],247:[function(require,module,exports){
+},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],251:[function(require,module,exports){
 'use strict';
 
 var curve = exports;
@@ -60452,7 +60514,7 @@ curve.short = require('./short');
 curve.mont = require('./mont');
 curve.edwards = require('./edwards');
 
-},{"./base":245,"./edwards":246,"./mont":248,"./short":249}],248:[function(require,module,exports){
+},{"./base":249,"./edwards":250,"./mont":252,"./short":253}],252:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -60632,7 +60694,7 @@ Point.prototype.getX = function getX() {
   return this.x.fromRed();
 };
 
-},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],249:[function(require,module,exports){
+},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],253:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -61572,7 +61634,7 @@ JPoint.prototype.isInfinity = function isInfinity() {
   return this.z.cmpn(0) === 0;
 };
 
-},{"../utils":258,"./base":245,"bn.js":259,"inherits":328}],250:[function(require,module,exports){
+},{"../utils":262,"./base":249,"bn.js":263,"inherits":332}],254:[function(require,module,exports){
 'use strict';
 
 var curves = exports;
@@ -61780,7 +61842,7 @@ defineCurve('secp256k1', {
   ],
 });
 
-},{"./curve":247,"./precomputed/secp256k1":257,"./utils":258,"hash.js":307}],251:[function(require,module,exports){
+},{"./curve":251,"./precomputed/secp256k1":261,"./utils":262,"hash.js":311}],255:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -62025,7 +62087,7 @@ EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {
   throw new Error('Unable to find valid recovery factor');
 };
 
-},{"../curves":250,"../utils":258,"./key":252,"./signature":253,"bn.js":259,"brorand":76,"hmac-drbg":319}],252:[function(require,module,exports){
+},{"../curves":254,"../utils":262,"./key":256,"./signature":257,"bn.js":263,"brorand":80,"hmac-drbg":323}],256:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -62148,7 +62210,7 @@ KeyPair.prototype.inspect = function inspect() {
          ' pub: ' + (this.pub && this.pub.inspect()) + ' >';
 };
 
-},{"../utils":258,"bn.js":259}],253:[function(require,module,exports){
+},{"../utils":262,"bn.js":263}],257:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -62316,7 +62378,7 @@ Signature.prototype.toDER = function toDER(enc) {
   return utils.encode(res, enc);
 };
 
-},{"../utils":258,"bn.js":259}],254:[function(require,module,exports){
+},{"../utils":262,"bn.js":263}],258:[function(require,module,exports){
 'use strict';
 
 var hash = require('hash.js');
@@ -62436,7 +62498,7 @@ EDDSA.prototype.isPoint = function isPoint(val) {
   return val instanceof this.pointClass;
 };
 
-},{"../curves":250,"../utils":258,"./key":255,"./signature":256,"hash.js":307}],255:[function(require,module,exports){
+},{"../curves":254,"../utils":262,"./key":259,"./signature":260,"hash.js":311}],259:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -62533,7 +62595,7 @@ KeyPair.prototype.getPublic = function getPublic(enc) {
 
 module.exports = KeyPair;
 
-},{"../utils":258}],256:[function(require,module,exports){
+},{"../utils":262}],260:[function(require,module,exports){
 'use strict';
 
 var BN = require('bn.js');
@@ -62600,7 +62662,7 @@ Signature.prototype.toHex = function toHex() {
 
 module.exports = Signature;
 
-},{"../utils":258,"bn.js":259}],257:[function(require,module,exports){
+},{"../utils":262,"bn.js":263}],261:[function(require,module,exports){
 module.exports = {
   doubles: {
     step: 4,
@@ -63382,7 +63444,7 @@ module.exports = {
   },
 };
 
-},{}],258:[function(require,module,exports){
+},{}],262:[function(require,module,exports){
 'use strict';
 
 var utils = exports;
@@ -63503,9 +63565,9 @@ function intFromLE(bytes) {
 utils.intFromLE = intFromLE;
 
 
-},{"bn.js":259,"minimalistic-assert":920,"minimalistic-crypto-utils":921}],259:[function(require,module,exports){
-arguments[4][66][0].apply(exports,arguments)
-},{"buffer":77,"dup":66}],260:[function(require,module,exports){
+},{"bn.js":263,"minimalistic-assert":924,"minimalistic-crypto-utils":925}],263:[function(require,module,exports){
+arguments[4][70][0].apply(exports,arguments)
+},{"buffer":81,"dup":70}],264:[function(require,module,exports){
 module.exports={
   "name": "elliptic",
   "version": "6.5.4",
@@ -63563,7 +63625,7 @@ module.exports={
   }
 }
 
-},{}],261:[function(require,module,exports){
+},{}],265:[function(require,module,exports){
 'use strict';
 
 var GetIntrinsic = require('get-intrinsic');
@@ -63580,7 +63642,7 @@ if ($gOPD) {
 
 module.exports = $gOPD;
 
-},{"get-intrinsic":287}],262:[function(require,module,exports){
+},{"get-intrinsic":291}],266:[function(require,module,exports){
 (function (global){(function (){
 /*
   Copyright (C) 2012-2014 Yusuke Suzuki <utatane.tea@gmail.com>
@@ -66231,7 +66293,7 @@ module.exports = $gOPD;
 /* vim: set sw=4 ts=4 et tw=80 : */
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./package.json":275,"estraverse":263,"esutils":279,"source-map":274}],263:[function(require,module,exports){
+},{"./package.json":279,"estraverse":267,"esutils":283,"source-map":278}],267:[function(require,module,exports){
 /*
   Copyright (C) 2012-2013 Yusuke Suzuki <utatane.tea@gmail.com>
   Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
@@ -67034,7 +67096,7 @@ module.exports = $gOPD;
 }(exports));
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-},{}],264:[function(require,module,exports){
+},{}],268:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -67157,7 +67219,7 @@ ArraySet.prototype.toArray = function ArraySet_toArray() {
 
 exports.ArraySet = ArraySet;
 
-},{"./util":273}],265:[function(require,module,exports){
+},{"./util":277}],269:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -67299,7 +67361,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
   aOutParam.rest = aIndex;
 };
 
-},{"./base64":266}],266:[function(require,module,exports){
+},{"./base64":270}],270:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -67368,7 +67430,7 @@ exports.decode = function (charCode) {
   return -1;
 };
 
-},{}],267:[function(require,module,exports){
+},{}],271:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -67481,7 +67543,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) {
   return index;
 };
 
-},{}],268:[function(require,module,exports){
+},{}],272:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2014 Mozilla Foundation and contributors
@@ -67562,7 +67624,7 @@ MappingList.prototype.toArray = function MappingList_toArray() {
 
 exports.MappingList = MappingList;
 
-},{"./util":273}],269:[function(require,module,exports){
+},{"./util":277}],273:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -67678,7 +67740,7 @@ exports.quickSort = function (ary, comparator) {
   doQuickSort(ary, comparator, 0, ary.length - 1);
 };
 
-},{}],270:[function(require,module,exports){
+},{}],274:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -68825,7 +68887,7 @@ IndexedSourceMapConsumer.prototype._parseMappings =
 
 exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
 
-},{"./array-set":264,"./base64-vlq":265,"./binary-search":267,"./quick-sort":269,"./util":273}],271:[function(require,module,exports){
+},{"./array-set":268,"./base64-vlq":269,"./binary-search":271,"./quick-sort":273,"./util":277}],275:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -69252,7 +69314,7 @@ SourceMapGenerator.prototype.toString =
 
 exports.SourceMapGenerator = SourceMapGenerator;
 
-},{"./array-set":264,"./base64-vlq":265,"./mapping-list":268,"./util":273}],272:[function(require,module,exports){
+},{"./array-set":268,"./base64-vlq":269,"./mapping-list":272,"./util":277}],276:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -69667,7 +69729,7 @@ SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSou
 
 exports.SourceNode = SourceNode;
 
-},{"./source-map-generator":271,"./util":273}],273:[function(require,module,exports){
+},{"./source-map-generator":275,"./util":277}],277:[function(require,module,exports){
 /* -*- Mode: js; js-indent-level: 2; -*- */
 /*
  * Copyright 2011 Mozilla Foundation and contributors
@@ -70157,7 +70219,7 @@ function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
 }
 exports.computeSourceURL = computeSourceURL;
 
-},{}],274:[function(require,module,exports){
+},{}],278:[function(require,module,exports){
 /*
  * Copyright 2009-2011 Mozilla Foundation and contributors
  * Licensed under the New BSD license. See LICENSE.txt or:
@@ -70167,7 +70229,7 @@ exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGene
 exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;
 exports.SourceNode = require('./lib/source-node').SourceNode;
 
-},{"./lib/source-map-consumer":270,"./lib/source-map-generator":271,"./lib/source-node":272}],275:[function(require,module,exports){
+},{"./lib/source-map-consumer":274,"./lib/source-map-generator":275,"./lib/source-node":276}],279:[function(require,module,exports){
 module.exports={
     "name": "escodegen",
     "description": "ECMAScript code generator",
@@ -70231,7 +70293,7 @@ module.exports={
     }
 }
 
-},{}],276:[function(require,module,exports){
+},{}],280:[function(require,module,exports){
 /*
   Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>
 
@@ -70377,7 +70439,7 @@ module.exports={
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-},{}],277:[function(require,module,exports){
+},{}],281:[function(require,module,exports){
 /*
   Copyright (C) 2013-2014 Yusuke Suzuki <utatane.tea@gmail.com>
   Copyright (C) 2014 Ivan Nikulin <ifaaan@gmail.com>
@@ -70514,7 +70576,7 @@ module.exports={
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-},{}],278:[function(require,module,exports){
+},{}],282:[function(require,module,exports){
 /*
   Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>
 
@@ -70681,7 +70743,7 @@ module.exports={
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-},{"./code":277}],279:[function(require,module,exports){
+},{"./code":281}],283:[function(require,module,exports){
 /*
   Copyright (C) 2013 Yusuke Suzuki <utatane.tea@gmail.com>
 
@@ -70716,7 +70778,7 @@ module.exports={
 }());
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-},{"./ast":276,"./code":277,"./keyword":278}],280:[function(require,module,exports){
+},{"./ast":280,"./code":281,"./keyword":282}],284:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -71215,7 +71277,7 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
   }
 }
 
-},{}],281:[function(require,module,exports){
+},{}],285:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 var MD5 = require('md5.js')
 
@@ -71262,7 +71324,7 @@ function EVP_BytesToKey (password, salt, keyBits, ivLen) {
 
 module.exports = EVP_BytesToKey
 
-},{"md5.js":917,"safe-buffer":993}],282:[function(require,module,exports){
+},{"md5.js":921,"safe-buffer":997}],286:[function(require,module,exports){
 
 var hasOwn = Object.prototype.hasOwnProperty;
 var toString = Object.prototype.toString;
@@ -71286,11 +71348,11 @@ module.exports = function forEach (obj, fn, ctx) {
 };
 
 
-},{}],283:[function(require,module,exports){
+},{}],287:[function(require,module,exports){
 /* eslint-env browser */
 module.exports = typeof self == 'object' ? self.FormData : window.FormData;
 
-},{}],284:[function(require,module,exports){
+},{}],288:[function(require,module,exports){
 'use strict';
 
 /* eslint no-invalid-this: 1 */
@@ -71344,14 +71406,14 @@ module.exports = function bind(that) {
     return bound;
 };
 
-},{}],285:[function(require,module,exports){
+},{}],289:[function(require,module,exports){
 'use strict';
 
 var implementation = require('./implementation');
 
 module.exports = Function.prototype.bind || implementation;
 
-},{"./implementation":284}],286:[function(require,module,exports){
+},{"./implementation":288}],290:[function(require,module,exports){
 'use strict';
 
 /* !
@@ -71397,7 +71459,7 @@ function getFuncName(aFunc) {
 
 module.exports = getFuncName;
 
-},{}],287:[function(require,module,exports){
+},{}],291:[function(require,module,exports){
 'use strict';
 
 var undefined;
@@ -71729,7 +71791,7 @@ module.exports = function GetIntrinsic(name, allowMissing) {
 	return value;
 };
 
-},{"function-bind":285,"has":290,"has-symbols":288}],288:[function(require,module,exports){
+},{"function-bind":289,"has":294,"has-symbols":292}],292:[function(require,module,exports){
 'use strict';
 
 var origSymbol = typeof Symbol !== 'undefined' && Symbol;
@@ -71744,7 +71806,7 @@ module.exports = function hasNativeSymbols() {
 	return hasSymbolSham();
 };
 
-},{"./shams":289}],289:[function(require,module,exports){
+},{"./shams":293}],293:[function(require,module,exports){
 'use strict';
 
 /* eslint complexity: [2, 18], max-statements: [2, 33] */
@@ -71788,14 +71850,14 @@ module.exports = function hasSymbols() {
 	return true;
 };
 
-},{}],290:[function(require,module,exports){
+},{}],294:[function(require,module,exports){
 'use strict';
 
 var bind = require('function-bind');
 
 module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
 
-},{"function-bind":285}],291:[function(require,module,exports){
+},{"function-bind":289}],295:[function(require,module,exports){
 'use strict'
 var Buffer = require('safe-buffer').Buffer
 var Transform = require('readable-stream').Transform
@@ -71892,37 +71954,37 @@ HashBase.prototype._digest = function () {
 
 module.exports = HashBase
 
-},{"inherits":328,"readable-stream":306,"safe-buffer":993}],292:[function(require,module,exports){
-arguments[4][105][0].apply(exports,arguments)
-},{"dup":105}],293:[function(require,module,exports){
-arguments[4][106][0].apply(exports,arguments)
-},{"./_stream_readable":295,"./_stream_writable":297,"_process":974,"dup":106,"inherits":328}],294:[function(require,module,exports){
-arguments[4][107][0].apply(exports,arguments)
-},{"./_stream_transform":296,"dup":107,"inherits":328}],295:[function(require,module,exports){
-arguments[4][108][0].apply(exports,arguments)
-},{"../errors":292,"./_stream_duplex":293,"./internal/streams/async_iterator":298,"./internal/streams/buffer_list":299,"./internal/streams/destroy":300,"./internal/streams/from":302,"./internal/streams/state":304,"./internal/streams/stream":305,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],296:[function(require,module,exports){
+},{"inherits":332,"readable-stream":310,"safe-buffer":997}],296:[function(require,module,exports){
 arguments[4][109][0].apply(exports,arguments)
-},{"../errors":292,"./_stream_duplex":293,"dup":109,"inherits":328}],297:[function(require,module,exports){
+},{"dup":109}],297:[function(require,module,exports){
 arguments[4][110][0].apply(exports,arguments)
-},{"../errors":292,"./_stream_duplex":293,"./internal/streams/destroy":300,"./internal/streams/state":304,"./internal/streams/stream":305,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],298:[function(require,module,exports){
+},{"./_stream_readable":299,"./_stream_writable":301,"_process":978,"dup":110,"inherits":332}],298:[function(require,module,exports){
 arguments[4][111][0].apply(exports,arguments)
-},{"./end-of-stream":301,"_process":974,"dup":111}],299:[function(require,module,exports){
+},{"./_stream_transform":300,"dup":111,"inherits":332}],299:[function(require,module,exports){
 arguments[4][112][0].apply(exports,arguments)
-},{"buffer":124,"dup":112,"util":77}],300:[function(require,module,exports){
+},{"../errors":296,"./_stream_duplex":297,"./internal/streams/async_iterator":302,"./internal/streams/buffer_list":303,"./internal/streams/destroy":304,"./internal/streams/from":306,"./internal/streams/state":308,"./internal/streams/stream":309,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],300:[function(require,module,exports){
 arguments[4][113][0].apply(exports,arguments)
-},{"_process":974,"dup":113}],301:[function(require,module,exports){
+},{"../errors":296,"./_stream_duplex":297,"dup":113,"inherits":332}],301:[function(require,module,exports){
 arguments[4][114][0].apply(exports,arguments)
-},{"../../../errors":292,"dup":114}],302:[function(require,module,exports){
+},{"../errors":296,"./_stream_duplex":297,"./internal/streams/destroy":304,"./internal/streams/state":308,"./internal/streams/stream":309,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],302:[function(require,module,exports){
 arguments[4][115][0].apply(exports,arguments)
-},{"dup":115}],303:[function(require,module,exports){
+},{"./end-of-stream":305,"_process":978,"dup":115}],303:[function(require,module,exports){
 arguments[4][116][0].apply(exports,arguments)
-},{"../../../errors":292,"./end-of-stream":301,"dup":116}],304:[function(require,module,exports){
+},{"buffer":128,"dup":116,"util":81}],304:[function(require,module,exports){
 arguments[4][117][0].apply(exports,arguments)
-},{"../../../errors":292,"dup":117}],305:[function(require,module,exports){
+},{"_process":978,"dup":117}],305:[function(require,module,exports){
 arguments[4][118][0].apply(exports,arguments)
-},{"dup":118,"events":280}],306:[function(require,module,exports){
+},{"../../../errors":296,"dup":118}],306:[function(require,module,exports){
 arguments[4][119][0].apply(exports,arguments)
-},{"./lib/_stream_duplex.js":293,"./lib/_stream_passthrough.js":294,"./lib/_stream_readable.js":295,"./lib/_stream_transform.js":296,"./lib/_stream_writable.js":297,"./lib/internal/streams/end-of-stream.js":301,"./lib/internal/streams/pipeline.js":303,"dup":119}],307:[function(require,module,exports){
+},{"dup":119}],307:[function(require,module,exports){
+arguments[4][120][0].apply(exports,arguments)
+},{"../../../errors":296,"./end-of-stream":305,"dup":120}],308:[function(require,module,exports){
+arguments[4][121][0].apply(exports,arguments)
+},{"../../../errors":296,"dup":121}],309:[function(require,module,exports){
+arguments[4][122][0].apply(exports,arguments)
+},{"dup":122,"events":284}],310:[function(require,module,exports){
+arguments[4][123][0].apply(exports,arguments)
+},{"./lib/_stream_duplex.js":297,"./lib/_stream_passthrough.js":298,"./lib/_stream_readable.js":299,"./lib/_stream_transform.js":300,"./lib/_stream_writable.js":301,"./lib/internal/streams/end-of-stream.js":305,"./lib/internal/streams/pipeline.js":307,"dup":123}],311:[function(require,module,exports){
 var hash = exports;
 
 hash.utils = require('./hash/utils');
@@ -71939,7 +72001,7 @@ hash.sha384 = hash.sha.sha384;
 hash.sha512 = hash.sha.sha512;
 hash.ripemd160 = hash.ripemd.ripemd160;
 
-},{"./hash/common":308,"./hash/hmac":309,"./hash/ripemd":310,"./hash/sha":311,"./hash/utils":318}],308:[function(require,module,exports){
+},{"./hash/common":312,"./hash/hmac":313,"./hash/ripemd":314,"./hash/sha":315,"./hash/utils":322}],312:[function(require,module,exports){
 'use strict';
 
 var utils = require('./utils');
@@ -72033,7 +72095,7 @@ BlockHash.prototype._pad = function pad() {
   return res;
 };
 
-},{"./utils":318,"minimalistic-assert":920}],309:[function(require,module,exports){
+},{"./utils":322,"minimalistic-assert":924}],313:[function(require,module,exports){
 'use strict';
 
 var utils = require('./utils');
@@ -72082,7 +72144,7 @@ Hmac.prototype.digest = function digest(enc) {
   return this.outer.digest(enc);
 };
 
-},{"./utils":318,"minimalistic-assert":920}],310:[function(require,module,exports){
+},{"./utils":322,"minimalistic-assert":924}],314:[function(require,module,exports){
 'use strict';
 
 var utils = require('./utils');
@@ -72230,7 +72292,7 @@ var sh = [
   8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
 ];
 
-},{"./common":308,"./utils":318}],311:[function(require,module,exports){
+},{"./common":312,"./utils":322}],315:[function(require,module,exports){
 'use strict';
 
 exports.sha1 = require('./sha/1');
@@ -72239,7 +72301,7 @@ exports.sha256 = require('./sha/256');
 exports.sha384 = require('./sha/384');
 exports.sha512 = require('./sha/512');
 
-},{"./sha/1":312,"./sha/224":313,"./sha/256":314,"./sha/384":315,"./sha/512":316}],312:[function(require,module,exports){
+},{"./sha/1":316,"./sha/224":317,"./sha/256":318,"./sha/384":319,"./sha/512":320}],316:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72315,7 +72377,7 @@ SHA1.prototype._digest = function digest(enc) {
     return utils.split32(this.h, 'big');
 };
 
-},{"../common":308,"../utils":318,"./common":317}],313:[function(require,module,exports){
+},{"../common":312,"../utils":322,"./common":321}],317:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72347,7 +72409,7 @@ SHA224.prototype._digest = function digest(enc) {
 };
 
 
-},{"../utils":318,"./256":314}],314:[function(require,module,exports){
+},{"../utils":322,"./256":318}],318:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72454,7 +72516,7 @@ SHA256.prototype._digest = function digest(enc) {
     return utils.split32(this.h, 'big');
 };
 
-},{"../common":308,"../utils":318,"./common":317,"minimalistic-assert":920}],315:[function(require,module,exports){
+},{"../common":312,"../utils":322,"./common":321,"minimalistic-assert":924}],319:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72491,7 +72553,7 @@ SHA384.prototype._digest = function digest(enc) {
     return utils.split32(this.h.slice(0, 12), 'big');
 };
 
-},{"../utils":318,"./512":316}],316:[function(require,module,exports){
+},{"../utils":322,"./512":320}],320:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72823,7 +72885,7 @@ function g1_512_lo(xh, xl) {
   return r;
 }
 
-},{"../common":308,"../utils":318,"minimalistic-assert":920}],317:[function(require,module,exports){
+},{"../common":312,"../utils":322,"minimalistic-assert":924}],321:[function(require,module,exports){
 'use strict';
 
 var utils = require('../utils');
@@ -72874,7 +72936,7 @@ function g1_256(x) {
 }
 exports.g1_256 = g1_256;
 
-},{"../utils":318}],318:[function(require,module,exports){
+},{"../utils":322}],322:[function(require,module,exports){
 'use strict';
 
 var assert = require('minimalistic-assert');
@@ -73154,7 +73216,7 @@ function shr64_lo(ah, al, num) {
 }
 exports.shr64_lo = shr64_lo;
 
-},{"inherits":328,"minimalistic-assert":920}],319:[function(require,module,exports){
+},{"inherits":332,"minimalistic-assert":924}],323:[function(require,module,exports){
 'use strict';
 
 var hash = require('hash.js');
@@ -73269,7 +73331,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {
   return utils.encode(res, enc);
 };
 
-},{"hash.js":307,"minimalistic-assert":920,"minimalistic-crypto-utils":921}],320:[function(require,module,exports){
+},{"hash.js":311,"minimalistic-assert":924,"minimalistic-crypto-utils":925}],324:[function(require,module,exports){
 "use strict";
 const whatwgEncoding = require("whatwg-encoding");
 
@@ -73566,7 +73628,7 @@ function isSpaceCharacter(c) {
   return c === 0x09 || c === 0x0A || c === 0x0C || c === 0x0D || c === 0x20;
 }
 
-},{"whatwg-encoding":1078}],321:[function(require,module,exports){
+},{"whatwg-encoding":1082}],325:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -73714,7 +73776,7 @@ class HttpProxyAgent extends agent_base_1.Agent {
 exports.default = HttpProxyAgent;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"@tootallnate/once":43,"agent-base":50,"buffer":124,"debug":223,"net":122,"tls":122,"url":1058}],322:[function(require,module,exports){
+},{"@tootallnate/once":47,"agent-base":54,"buffer":128,"debug":227,"net":126,"tls":126,"url":1062}],326:[function(require,module,exports){
 "use strict";
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -73729,7 +73791,7 @@ function createHttpProxyAgent(opts) {
 })(createHttpProxyAgent || (createHttpProxyAgent = {}));
 module.exports = createHttpProxyAgent;
 
-},{"./agent":321}],323:[function(require,module,exports){
+},{"./agent":325}],327:[function(require,module,exports){
 var http = require('http')
 var url = require('url')
 
@@ -73762,7 +73824,7 @@ function validateParams (params) {
   return params
 }
 
-},{"http":1019,"url":1058}],324:[function(require,module,exports){
+},{"http":1023,"url":1062}],328:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -73945,7 +74007,7 @@ function omit(obj, ...keys) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./parse-proxy-response":326,"agent-base":50,"assert":68,"buffer":124,"debug":223,"net":122,"tls":122,"url":1058}],325:[function(require,module,exports){
+},{"./parse-proxy-response":330,"agent-base":54,"assert":72,"buffer":128,"debug":227,"net":126,"tls":126,"url":1062}],329:[function(require,module,exports){
 "use strict";
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -73960,7 +74022,7 @@ function createHttpsProxyAgent(opts) {
 })(createHttpsProxyAgent || (createHttpsProxyAgent = {}));
 module.exports = createHttpsProxyAgent;
 
-},{"./agent":324}],326:[function(require,module,exports){
+},{"./agent":328}],330:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 var __importDefault = (this && this.__importDefault) || function (mod) {
@@ -74029,7 +74091,7 @@ function parseProxyResponse(socket) {
 exports.default = parseProxyResponse;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"buffer":124,"debug":223}],327:[function(require,module,exports){
+},{"buffer":128,"debug":227}],331:[function(require,module,exports){
 /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
 exports.read = function (buffer, offset, isLE, mLen, nBytes) {
   var e, m
@@ -74116,7 +74178,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
   buffer[offset + i - d] |= s * 128
 }
 
-},{}],328:[function(require,module,exports){
+},{}],332:[function(require,module,exports){
 if (typeof Object.create === 'function') {
   // implementation from standard node.js 'util' module
   module.exports = function inherits(ctor, superCtor) {
@@ -74145,7 +74207,7 @@ if (typeof Object.create === 'function') {
   }
 }
 
-},{}],329:[function(require,module,exports){
+},{}],333:[function(require,module,exports){
 'use strict';
 
 var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
@@ -74180,7 +74242,7 @@ isStandardArguments.isLegacyArguments = isLegacyArguments; // for tests
 
 module.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;
 
-},{"call-bind/callBound":126}],330:[function(require,module,exports){
+},{"call-bind/callBound":130}],334:[function(require,module,exports){
 'use strict';
 
 var toStr = Object.prototype.toString;
@@ -74220,7 +74282,7 @@ module.exports = function isGeneratorFunction(fn) {
 	return getProto(fn) === GeneratorFunction;
 };
 
-},{}],331:[function(require,module,exports){
+},{}],335:[function(require,module,exports){
 // Generated using `npm run build`. Do not edit.
 
 var regex = /^[a-z](?:[\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*-(?:[\x2D\.0-9_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/;
@@ -74231,7 +74293,7 @@ var isPotentialCustomElementName = function(string) {
 
 module.exports = isPotentialCustomElementName;
 
-},{}],332:[function(require,module,exports){
+},{}],336:[function(require,module,exports){
 (function (global){(function (){
 'use strict';
 
@@ -74296,7 +74358,7 @@ module.exports = function isTypedArray(value) {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"available-typed-arrays":73,"call-bind/callBound":126,"es-abstract/helpers/getOwnPropertyDescriptor":261,"foreach":282,"has-symbols":288}],333:[function(require,module,exports){
+},{"available-typed-arrays":77,"call-bind/callBound":130,"es-abstract/helpers/getOwnPropertyDescriptor":265,"foreach":286,"has-symbols":292}],337:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 const path = require("path");
@@ -74633,7 +74695,7 @@ exports.ResourceLoader = ResourceLoader;
 exports.toughCookie = toughCookie;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./jsdom/browser/Window.js":334,"./jsdom/browser/parser":339,"./jsdom/browser/resources/no-op-resource-loader.js":342,"./jsdom/browser/resources/resource-loader.js":345,"./jsdom/living/domparsing/serialization.js":363,"./jsdom/living/generated/utils.js":591,"./jsdom/virtual-console.js":777,"buffer":124,"fs":122,"html-encoding-sniffer":320,"path":966,"tough-cookie":1044,"vm":778,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],334:[function(require,module,exports){
+},{"./jsdom/browser/Window.js":338,"./jsdom/browser/parser":343,"./jsdom/browser/resources/no-op-resource-loader.js":346,"./jsdom/browser/resources/resource-loader.js":349,"./jsdom/living/domparsing/serialization.js":367,"./jsdom/living/generated/utils.js":595,"./jsdom/virtual-console.js":781,"buffer":128,"fs":126,"html-encoding-sniffer":324,"path":970,"tough-cookie":1048,"vm":782,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],338:[function(require,module,exports){
 (function (process,global){(function (){
 "use strict";
 const vm = require("vm");
@@ -75570,7 +75632,7 @@ function contextifyWindow(window) {
 }
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../living/documents.js":358,"../living/generated/BarProp":397,"../living/generated/CustomElementRegistry":410,"../living/generated/Element":420,"../living/generated/EventHandlerNonNull":427,"../living/generated/EventTarget":432,"../living/generated/External":433,"../living/generated/Navigator":536,"../living/generated/OnBeforeUnloadEventHandlerNonNull":541,"../living/generated/OnErrorEventHandlerNonNull":542,"../living/generated/PageTransitionEvent":543,"../living/generated/Performance":545,"../living/generated/Screen":561,"../living/generated/Selection":562,"../living/generated/Storage":569,"../living/generated/utils":591,"../living/helpers/create-event-accessor.js":595,"../living/helpers/events":600,"../living/helpers/runtime-script-errors":613,"../living/helpers/style-rules.js":617,"../living/interfaces":625,"../living/named-properties-window":628,"../living/nodes/GlobalEventHandlers-impl":656,"../living/nodes/WindowEventHandlers-impl":746,"../living/post-message":748,"../living/websockets/WebSocket-impl":761,"../living/window/SessionHistory":768,"../utils":776,"./js-globals.json":336,"./not-implemented":337,"_process":974,"abab":44,"cssstyle":190,"domexception/webidl2js-wrapper":243,"vm":778,"w3c-hr-time":1064,"webidl-conversions":1075}],335:[function(require,module,exports){
+},{"../living/documents.js":362,"../living/generated/BarProp":401,"../living/generated/CustomElementRegistry":414,"../living/generated/Element":424,"../living/generated/EventHandlerNonNull":431,"../living/generated/EventTarget":436,"../living/generated/External":437,"../living/generated/Navigator":540,"../living/generated/OnBeforeUnloadEventHandlerNonNull":545,"../living/generated/OnErrorEventHandlerNonNull":546,"../living/generated/PageTransitionEvent":547,"../living/generated/Performance":549,"../living/generated/Screen":565,"../living/generated/Selection":566,"../living/generated/Storage":573,"../living/generated/utils":595,"../living/helpers/create-event-accessor.js":599,"../living/helpers/events":604,"../living/helpers/runtime-script-errors":617,"../living/helpers/style-rules.js":621,"../living/interfaces":629,"../living/named-properties-window":632,"../living/nodes/GlobalEventHandlers-impl":660,"../living/nodes/WindowEventHandlers-impl":750,"../living/post-message":752,"../living/websockets/WebSocket-impl":765,"../living/window/SessionHistory":772,"../utils":780,"./js-globals.json":340,"./not-implemented":341,"_process":978,"abab":48,"cssstyle":194,"domexception/webidl2js-wrapper":247,"vm":782,"w3c-hr-time":1068,"webidl-conversions":1079}],339:[function(require,module,exports){
 // Ideally, we would use
 // https://html.spec.whatwg.org/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints
 // but for now, just use the version from blink. This file is copied from
@@ -76361,7 +76423,7 @@ dialog {
 
 `;
 
-},{}],336:[function(require,module,exports){
+},{}],340:[function(require,module,exports){
 module.exports={
   "Object": {
     "writable": true,
@@ -76670,7 +76732,7 @@ module.exports={
   }
 }
 
-},{}],337:[function(require,module,exports){
+},{}],341:[function(require,module,exports){
 "use strict";
 
 module.exports = function (nameForErrorMessage, window) {
@@ -76685,7 +76747,7 @@ module.exports = function (nameForErrorMessage, window) {
   window._virtualConsole.emit("jsdomError", error);
 };
 
-},{}],338:[function(require,module,exports){
+},{}],342:[function(require,module,exports){
 "use strict";
 
 const parse5 = require("parse5");
@@ -76910,7 +76972,7 @@ module.exports = {
   parseIntoDocument
 };
 
-},{"../../living/attributes":351,"../../living/domparsing/parse5-adapter-serialization":362,"../../living/generated/Comment":406,"../../living/generated/DocumentFragment":418,"../../living/generated/DocumentType":419,"../../living/generated/Text":574,"../../living/helpers/create-element":594,"../../living/helpers/custom-elements":596,"../../living/helpers/namespaces":609,"../../living/node-type":641,"parse5":955,"parse5/lib/parser/open-element-stack":958}],339:[function(require,module,exports){
+},{"../../living/attributes":355,"../../living/domparsing/parse5-adapter-serialization":366,"../../living/generated/Comment":410,"../../living/generated/DocumentFragment":422,"../../living/generated/DocumentType":423,"../../living/generated/Text":578,"../../living/helpers/create-element":598,"../../living/helpers/custom-elements":600,"../../living/helpers/namespaces":613,"../../living/node-type":645,"parse5":959,"parse5/lib/parser/open-element-stack":962}],343:[function(require,module,exports){
 "use strict";
 
 const xmlParser = require("./xml");
@@ -76949,7 +77011,7 @@ module.exports = {
   parseIntoDocument
 };
 
-},{"./html":338,"./xml":340}],340:[function(require,module,exports){
+},{"./html":342,"./xml":344}],344:[function(require,module,exports){
 "use strict";
 
 const { SaxesParser } = require("saxes");
@@ -77153,7 +77215,7 @@ module.exports = {
   parseIntoDocument
 };
 
-},{"../../living/attributes":351,"../../living/generated/CDATASection":402,"../../living/generated/Comment":406,"../../living/generated/DocumentFragment":418,"../../living/generated/DocumentType":419,"../../living/generated/ProcessingInstruction":550,"../../living/generated/Text":574,"../../living/helpers/create-element":594,"../../living/helpers/namespaces":609,"domexception/webidl2js-wrapper":243,"saxes":995}],341:[function(require,module,exports){
+},{"../../living/attributes":355,"../../living/generated/CDATASection":406,"../../living/generated/Comment":410,"../../living/generated/DocumentFragment":422,"../../living/generated/DocumentType":423,"../../living/generated/ProcessingInstruction":554,"../../living/generated/Text":578,"../../living/helpers/create-element":598,"../../living/helpers/namespaces":613,"domexception/webidl2js-wrapper":247,"saxes":999}],345:[function(require,module,exports){
 "use strict";
 
 class QueueItem {
@@ -77269,7 +77331,7 @@ module.exports = class AsyncResourceQueue {
   }
 };
 
-},{}],342:[function(require,module,exports){
+},{}],346:[function(require,module,exports){
 "use strict";
 const ResourceLoader = require("./resource-loader.js");
 
@@ -77279,7 +77341,7 @@ module.exports = class NoOpResourceLoader extends ResourceLoader {
   }
 };
 
-},{"./resource-loader.js":345}],343:[function(require,module,exports){
+},{"./resource-loader.js":349}],347:[function(require,module,exports){
 "use strict";
 const idlUtils = require("../../living/generated/utils");
 const { fireAnEvent } = require("../../living/helpers/events");
@@ -77376,7 +77438,7 @@ module.exports = class PerDocumentResourceLoader {
   }
 };
 
-},{"../../living/generated/utils":591,"../../living/helpers/events":600}],344:[function(require,module,exports){
+},{"../../living/generated/utils":595,"../../living/helpers/events":604}],348:[function(require,module,exports){
 "use strict";
 
 /**
@@ -77411,7 +77473,7 @@ module.exports = class RequestManager {
   }
 };
 
-},{}],345:[function(require,module,exports){
+},{}],349:[function(require,module,exports){
 (function (process,Buffer){(function (){
 "use strict";
 const fs = require("fs");
@@ -77557,7 +77619,7 @@ module.exports = class ResourceLoader {
 };
 
 }).call(this)}).call(this,require('_process'),require("buffer").Buffer)
-},{"../../../../package.json":780,"../../living/helpers/agent-factory":592,"../../living/helpers/http-request":604,"_process":974,"buffer":124,"data-urls":221,"fs":122,"url":1058,"whatwg-url":1113}],346:[function(require,module,exports){
+},{"../../../../package.json":784,"../../living/helpers/agent-factory":596,"../../living/helpers/http-request":608,"_process":978,"buffer":128,"data-urls":225,"fs":126,"url":1062,"whatwg-url":1117}],350:[function(require,module,exports){
 "use strict";
 
 /**
@@ -77701,7 +77763,7 @@ module.exports = class ResourceQueue {
   }
 };
 
-},{}],347:[function(require,module,exports){
+},{}],351:[function(require,module,exports){
 "use strict";
 const cssom = require("cssom");
 const cssstyle = require("cssstyle");
@@ -77760,7 +77822,7 @@ exports.addToCore = core => {
   //   Counter
 };
 
-},{"cssom":188,"cssstyle":190}],348:[function(require,module,exports){
+},{"cssom":192,"cssstyle":194}],352:[function(require,module,exports){
 /** Here is yet another implementation of XPath 1.0 in Javascript.
  *
  * My goal was to make it relatively compact, but as I fixed all the axis bugs
@@ -79636,7 +79698,7 @@ module.exports = core => {
   return xpath; // for tests
 };
 
-},{}],349:[function(require,module,exports){
+},{}],353:[function(require,module,exports){
 "use strict";
 
 const AbortSignal = require("../generated/AbortSignal");
@@ -79655,7 +79717,7 @@ module.exports = {
   implementation: AbortControllerImpl
 };
 
-},{"../generated/AbortSignal":392}],350:[function(require,module,exports){
+},{"../generated/AbortSignal":396}],354:[function(require,module,exports){
 "use strict";
 
 const { setupForSimpleEventAccessors } = require("../helpers/create-event-accessor");
@@ -79705,7 +79767,7 @@ module.exports = {
   implementation: AbortSignalImpl
 };
 
-},{"../events/EventTarget-impl":370,"../helpers/create-event-accessor":595,"../helpers/events":600}],351:[function(require,module,exports){
+},{"../events/EventTarget-impl":374,"../helpers/create-event-accessor":599,"../helpers/events":604}],355:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 
@@ -80019,7 +80081,7 @@ exports.hasAttributes = function (element) {
   return element._attributeList.length > 0;
 };
 
-},{"./helpers/custom-elements":596,"./helpers/mutation-observers":608,"./helpers/namespaces":609,"./helpers/strings":616,"domexception/webidl2js-wrapper":243}],352:[function(require,module,exports){
+},{"./helpers/custom-elements":600,"./helpers/mutation-observers":612,"./helpers/namespaces":613,"./helpers/strings":620,"domexception/webidl2js-wrapper":247}],356:[function(require,module,exports){
 "use strict";
 
 const { setAnExistingAttributeValue } = require("../attributes.js");
@@ -80081,7 +80143,7 @@ exports.implementation = class AttrImpl extends NodeImpl {
   }
 };
 
-},{"../attributes.js":351,"../node-type.js":641,"../nodes/Node-impl.js":732}],353:[function(require,module,exports){
+},{"../attributes.js":355,"../node-type.js":645,"../nodes/Node-impl.js":736}],357:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -80161,7 +80223,7 @@ exports.implementation = class NamedNodeMapImpl {
   }
 };
 
-},{"../attributes.js":351,"../generated/utils.js":591,"../helpers/namespaces":609,"domexception/webidl2js-wrapper":243}],354:[function(require,module,exports){
+},{"../attributes.js":355,"../generated/utils.js":595,"../helpers/namespaces":613,"domexception/webidl2js-wrapper":247}],358:[function(require,module,exports){
 "use strict";
 
 const ValidityState = require("../generated/ValidityState");
@@ -80238,7 +80300,7 @@ exports.implementation = class DefaultConstraintValidationImpl {
   }
 };
 
-},{"../generated/ValidityState":581,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/traversal":622}],355:[function(require,module,exports){
+},{"../generated/ValidityState":585,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/traversal":626}],359:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class ValidityStateImpl {
@@ -80306,7 +80368,7 @@ exports.implementation = class ValidityStateImpl {
   }
 };
 
-},{}],356:[function(require,module,exports){
+},{}],360:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -80346,7 +80408,7 @@ exports.implementation = class StyleSheetList {
   }
 };
 
-},{"../generated/utils.js":591}],357:[function(require,module,exports){
+},{"../generated/utils.js":595}],361:[function(require,module,exports){
 "use strict";
 
 const webIDLConversions = require("webidl-conversions");
@@ -80613,7 +80675,7 @@ module.exports = {
   implementation: CustomElementRegistryImpl
 };
 
-},{"../generated/Function.js":441,"../generated/HTMLUnknownElement":514,"../generated/utils":591,"../helpers/create-element":594,"../helpers/custom-elements":596,"../helpers/namespaces":609,"../helpers/shadow-dom":615,"../node-type":641,"domexception/webidl2js-wrapper":243,"webidl-conversions":1075}],358:[function(require,module,exports){
+},{"../generated/Function.js":445,"../generated/HTMLUnknownElement":518,"../generated/utils":595,"../helpers/create-element":598,"../helpers/custom-elements":600,"../helpers/namespaces":613,"../helpers/shadow-dom":619,"../node-type":645,"domexception/webidl2js-wrapper":247,"webidl-conversions":1079}],362:[function(require,module,exports){
 "use strict";
 const XMLDocument = require("../living/generated/XMLDocument.js");
 const Document = require("../living/generated/Document.js");
@@ -80630,7 +80692,7 @@ exports.createWrapper = (...args) => {
   return wrapperForImpl(exports.createImpl(...args));
 };
 
-},{"../living/generated/Document.js":417,"../living/generated/XMLDocument.js":585,"./generated/utils.js":591}],359:[function(require,module,exports){
+},{"../living/generated/Document.js":421,"../living/generated/XMLDocument.js":589,"./generated/utils.js":595}],363:[function(require,module,exports){
 "use strict";
 
 const { parseIntoDocument } = require("../../browser/parser");
@@ -80690,7 +80752,7 @@ exports.implementation = class DOMParserImpl {
   }
 };
 
-},{"../../browser/parser":339,"../generated/Document":417}],360:[function(require,module,exports){
+},{"../../browser/parser":343,"../generated/Document":421}],364:[function(require,module,exports){
 "use strict";
 
 const { parseFragment } = require("../../browser/parser");
@@ -80721,7 +80783,7 @@ exports.implementation = class InnerHTMLImpl {
   }
 };
 
-},{"../../browser/parser":339,"../helpers/namespaces.js":609,"../helpers/shadow-dom.js":615,"../node-type.js":641,"./serialization.js":363}],361:[function(require,module,exports){
+},{"../../browser/parser":343,"../helpers/namespaces.js":613,"../helpers/shadow-dom.js":619,"../node-type.js":645,"./serialization.js":367}],365:[function(require,module,exports){
 "use strict";
 const serialize = require("w3c-xmlserializer");
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -80741,7 +80803,7 @@ exports.implementation = class XMLSerializerImpl {
   }
 };
 
-},{"../generated/utils":591,"domexception/webidl2js-wrapper":243,"w3c-xmlserializer":1073}],362:[function(require,module,exports){
+},{"../generated/utils":595,"domexception/webidl2js-wrapper":247,"w3c-xmlserializer":1077}],366:[function(require,module,exports){
 "use strict";
 const nodeTypes = require("../node-type");
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -80806,7 +80868,7 @@ exports.updateNodeSourceCodeLocation = (node, endLocation) => {
   Object.assign(node.sourceCodeLocation, endLocation);
 };
 
-},{"../helpers/internal-constants":605,"../node-type":641}],363:[function(require,module,exports){
+},{"../helpers/internal-constants":609,"../node-type":645}],367:[function(require,module,exports){
 "use strict";
 
 const produceXMLSerialization = require("w3c-xmlserializer");
@@ -80853,7 +80915,7 @@ module.exports.fragmentSerialization = (node, { requireWellFormed, globalObject
   }
 };
 
-},{"../generated/utils":591,"../helpers/namespaces":609,"../node-type":641,"./parse5-adapter-serialization":362,"domexception/webidl2js-wrapper":243,"parse5":955,"w3c-xmlserializer":1073}],364:[function(require,module,exports){
+},{"../generated/utils":595,"../helpers/namespaces":613,"../node-type":645,"./parse5-adapter-serialization":366,"domexception/webidl2js-wrapper":247,"parse5":959,"w3c-xmlserializer":1077}],368:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -80865,7 +80927,7 @@ CloseEventImpl.defaultInit = CloseEventInit.convert(undefined);
 
 exports.implementation = CloseEventImpl;
 
-},{"../generated/CloseEventInit":405,"./Event-impl":368}],365:[function(require,module,exports){
+},{"../generated/CloseEventInit":409,"./Event-impl":372}],369:[function(require,module,exports){
 "use strict";
 
 const UIEventImpl = require("./UIEvent-impl").implementation;
@@ -80887,7 +80949,7 @@ module.exports = {
   implementation: CompositionEventImpl
 };
 
-},{"../generated/CompositionEventInit":408,"./UIEvent-impl":382}],366:[function(require,module,exports){
+},{"../generated/CompositionEventInit":412,"./UIEvent-impl":386}],370:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -80910,7 +80972,7 @@ module.exports = {
   implementation: CustomEventImpl
 };
 
-},{"../generated/CustomEventInit":412,"./Event-impl":368}],367:[function(require,module,exports){
+},{"../generated/CustomEventInit":416,"./Event-impl":372}],371:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -80926,7 +80988,7 @@ module.exports = {
   implementation: ErrorEventImpl
 };
 
-},{"../generated/ErrorEventInit":425,"./Event-impl":368}],368:[function(require,module,exports){
+},{"../generated/ErrorEventInit":429,"./Event-impl":372}],372:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -81125,7 +81187,7 @@ module.exports = {
   implementation: EventImpl
 };
 
-},{"../generated/EventInit":428,"../generated/utils":591}],369:[function(require,module,exports){
+},{"../generated/EventInit":432,"../generated/utils":595}],373:[function(require,module,exports){
 "use strict";
 
 // This mixin doesn't have an IDL equivalent, but since MouseEvent and KeyboardEvent implement getModifierState() the
@@ -81145,7 +81207,7 @@ class EventModifierMixinImpl {
 
 exports.implementation = EventModifierMixinImpl;
 
-},{}],370:[function(require,module,exports){
+},{}],374:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 
@@ -81550,7 +81612,7 @@ function appendToEventPath(eventImpl, target, targetOverride, relatedTarget, tou
   });
 }
 
-},{"../generated/MouseEvent":529,"../generated/utils":591,"../helpers/node":610,"../helpers/runtime-script-errors":613,"../helpers/shadow-dom":615,"domexception/webidl2js-wrapper":243}],371:[function(require,module,exports){
+},{"../generated/MouseEvent":533,"../generated/utils":595,"../helpers/node":614,"../helpers/runtime-script-errors":617,"../helpers/shadow-dom":619,"domexception/webidl2js-wrapper":247}],375:[function(require,module,exports){
 "use strict";
 const UIEventImpl = require("./UIEvent-impl").implementation;
 
@@ -81561,7 +81623,7 @@ FocusEventImpl.defaultInit = FocusEventInit.convert(undefined);
 
 exports.implementation = FocusEventImpl;
 
-},{"../generated/FocusEventInit":439,"./UIEvent-impl":382}],372:[function(require,module,exports){
+},{"../generated/FocusEventInit":443,"./UIEvent-impl":386}],376:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -81577,7 +81639,7 @@ module.exports = {
   implementation: HashChangeEventImpl
 };
 
-},{"../generated/HashChangeEventInit":517,"./Event-impl":368}],373:[function(require,module,exports){
+},{"../generated/HashChangeEventInit":521,"./Event-impl":372}],377:[function(require,module,exports){
 "use strict";
 const UIEventImpl = require("./UIEvent-impl").implementation;
 const InputEventInit = require("../generated/InputEventInit");
@@ -81590,7 +81652,7 @@ module.exports = {
   implementation: InputEventImpl
 };
 
-},{"../generated/InputEventInit":521,"./UIEvent-impl":382}],374:[function(require,module,exports){
+},{"../generated/InputEventInit":525,"./UIEvent-impl":386}],378:[function(require,module,exports){
 "use strict";
 
 const { mixin } = require("../../utils");
@@ -81621,7 +81683,7 @@ module.exports = {
   implementation: KeyboardEventImpl
 };
 
-},{"../../utils":776,"../generated/KeyboardEventInit":523,"./EventModifierMixin-impl":369,"./UIEvent-impl":382}],375:[function(require,module,exports){
+},{"../../utils":780,"../generated/KeyboardEventInit":527,"./EventModifierMixin-impl":373,"./UIEvent-impl":386}],379:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -81648,7 +81710,7 @@ module.exports = {
   implementation: MessageEventImpl
 };
 
-},{"../generated/MessageEventInit":526,"./Event-impl":368}],376:[function(require,module,exports){
+},{"../generated/MessageEventInit":530,"./Event-impl":372}],380:[function(require,module,exports){
 "use strict";
 
 const { mixin } = require("../../utils");
@@ -81699,7 +81761,7 @@ module.exports = {
   implementation: MouseEventImpl
 };
 
-},{"../../utils":776,"../generated/MouseEventInit":530,"./EventModifierMixin-impl":369,"./UIEvent-impl":382}],377:[function(require,module,exports){
+},{"../../utils":780,"../generated/MouseEventInit":534,"./EventModifierMixin-impl":373,"./UIEvent-impl":386}],381:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -81721,7 +81783,7 @@ PageTransitionEventImpl.defaultInit = PageTransitionEventInit.convert(undefined)
 
 exports.implementation = PageTransitionEventImpl;
 
-},{"../generated/PageTransitionEventInit":544,"./Event-impl":368}],378:[function(require,module,exports){
+},{"../generated/PageTransitionEventInit":548,"./Event-impl":372}],382:[function(require,module,exports){
 "use strict";
 const EventImpl = require("./Event-impl.js").implementation;
 
@@ -81732,7 +81794,7 @@ PopStateEventImpl.defaultInit = PopStateEventInit.convert(undefined);
 
 exports.implementation = PopStateEventImpl;
 
-},{"../generated/PopStateEventInit":549,"./Event-impl.js":368}],379:[function(require,module,exports){
+},{"../generated/PopStateEventInit":553,"./Event-impl.js":372}],383:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -81748,7 +81810,7 @@ module.exports = {
   implementation: ProgressEventImpl
 };
 
-},{"../generated/ProgressEventInit":552,"./Event-impl":368}],380:[function(require,module,exports){
+},{"../generated/ProgressEventInit":556,"./Event-impl":372}],384:[function(require,module,exports){
 "use strict";
 
 const EventImpl = require("./Event-impl").implementation;
@@ -81776,7 +81838,7 @@ module.exports = {
   implementation: StorageEventImpl
 };
 
-},{"../generated/StorageEventInit":571,"./Event-impl":368}],381:[function(require,module,exports){
+},{"../generated/StorageEventInit":575,"./Event-impl":372}],385:[function(require,module,exports){
 "use strict";
 
 const UIEventImpl = require("./UIEvent-impl").implementation;
@@ -81792,7 +81854,7 @@ module.exports = {
   implementation: TouchEventImpl
 };
 
-},{"../generated/TouchEventInit":577,"./UIEvent-impl":382}],382:[function(require,module,exports){
+},{"../generated/TouchEventInit":581,"./UIEvent-impl":386}],386:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -81853,7 +81915,7 @@ module.exports = {
   implementation: UIEventImpl
 };
 
-},{"../generated/UIEventInit":580,"../generated/utils":591,"./Event-impl":368}],383:[function(require,module,exports){
+},{"../generated/UIEventInit":584,"../generated/utils":595,"./Event-impl":372}],387:[function(require,module,exports){
 "use strict";
 
 const MouseEventImpl = require("./MouseEvent-impl").implementation;
@@ -81867,7 +81929,7 @@ module.exports = {
   implementation: WheelEventImpl
 };
 
-},{"../generated/WheelEventInit":584,"./MouseEvent-impl":376}],384:[function(require,module,exports){
+},{"../generated/WheelEventInit":588,"./MouseEvent-impl":380}],388:[function(require,module,exports){
 "use strict";
 
 const {
@@ -82034,7 +82096,7 @@ class HeadersImpl {
 
 exports.implementation = HeadersImpl;
 
-},{"./header-list":385,"./header-types":386}],385:[function(require,module,exports){
+},{"./header-list":389,"./header-types":390}],389:[function(require,module,exports){
 "use strict";
 
 /**
@@ -82090,7 +82152,7 @@ class HeaderList {
 
 module.exports = HeaderList;
 
-},{}],386:[function(require,module,exports){
+},{}],390:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 
@@ -82197,7 +82259,7 @@ module.exports = {
 };
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"buffer":124,"whatwg-mimetype":1098}],387:[function(require,module,exports){
+},{"buffer":128,"whatwg-mimetype":1102}],391:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 const Blob = require("../generated/Blob");
@@ -82294,7 +82356,7 @@ exports.implementation = class BlobImpl {
 };
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"../generated/Blob":399,"../generated/utils":591,"buffer":124}],388:[function(require,module,exports){
+},{"../generated/Blob":403,"../generated/utils":595,"buffer":128}],392:[function(require,module,exports){
 "use strict";
 
 const BlobImpl = require("./Blob-impl").implementation;
@@ -82308,7 +82370,7 @@ exports.implementation = class FileImpl extends BlobImpl {
   }
 };
 
-},{"./Blob-impl":387}],389:[function(require,module,exports){
+},{"./Blob-impl":391}],393:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -82325,7 +82387,7 @@ exports.implementation = class FileListImpl extends Array {
   }
 };
 
-},{"../generated/utils.js":591}],390:[function(require,module,exports){
+},{"../generated/utils.js":595}],394:[function(require,module,exports){
 (function (Buffer,setImmediate){(function (){
 "use strict";
 
@@ -82459,7 +82521,7 @@ setupForSimpleEventAccessors(FileReaderImpl.prototype, events);
 exports.implementation = FileReaderImpl;
 
 }).call(this)}).call(this,require("buffer").Buffer,require("timers").setImmediate)
-},{"../events/EventTarget-impl":370,"../generated/ProgressEvent":551,"../helpers/binary-data":593,"../helpers/create-event-accessor":595,"../helpers/events":600,"buffer":124,"domexception/webidl2js-wrapper":243,"timers":1043,"whatwg-encoding":1078,"whatwg-mimetype":1098}],391:[function(require,module,exports){
+},{"../events/EventTarget-impl":374,"../generated/ProgressEvent":555,"../helpers/binary-data":597,"../helpers/create-event-accessor":599,"../helpers/events":604,"buffer":128,"domexception/webidl2js-wrapper":247,"timers":1047,"whatwg-encoding":1082,"whatwg-mimetype":1102}],395:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -82591,7 +82653,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../aborting/AbortController-impl.js");
 
-},{"../aborting/AbortController-impl.js":349,"./utils.js":591,"webidl-conversions":1075}],392:[function(require,module,exports){
+},{"../aborting/AbortController-impl.js":353,"./utils.js":595,"webidl-conversions":1079}],396:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -82747,7 +82809,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../aborting/AbortSignal-impl.js");
 
-},{"../aborting/AbortSignal-impl.js":350,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],393:[function(require,module,exports){
+},{"../aborting/AbortSignal-impl.js":354,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],397:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -82911,7 +82973,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../range/AbstractRange-impl.js");
 
-},{"../range/AbstractRange-impl.js":749,"./utils.js":591,"webidl-conversions":1075}],394:[function(require,module,exports){
+},{"../range/AbstractRange-impl.js":753,"./utils.js":595,"webidl-conversions":1079}],398:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -82957,7 +83019,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventListenerOptions.js":430,"./utils.js":591,"webidl-conversions":1075}],395:[function(require,module,exports){
+},{"./EventListenerOptions.js":434,"./utils.js":595,"webidl-conversions":1079}],399:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -82987,7 +83049,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],396:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],400:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83204,7 +83266,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../attributes/Attr-impl.js");
 
-},{"../attributes/Attr-impl.js":352,"../helpers/custom-elements.js":596,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],397:[function(require,module,exports){
+},{"../attributes/Attr-impl.js":356,"../helpers/custom-elements.js":600,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],401:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83324,7 +83386,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../window/BarProp-impl.js");
 
-},{"../window/BarProp-impl.js":763,"./utils.js":591,"webidl-conversions":1075}],398:[function(require,module,exports){
+},{"../window/BarProp-impl.js":767,"./utils.js":595,"webidl-conversions":1079}],402:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["blob", "arraybuffer"]);
@@ -83338,7 +83400,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],399:[function(require,module,exports){
+},{}],403:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83538,7 +83600,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../file-api/Blob-impl.js");
 
-},{"../file-api/Blob-impl.js":387,"./BlobPropertyBag.js":401,"./utils.js":591,"webidl-conversions":1075}],400:[function(require,module,exports){
+},{"../file-api/Blob-impl.js":391,"./BlobPropertyBag.js":405,"./utils.js":595,"webidl-conversions":1079}],404:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83574,7 +83636,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],401:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],405:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83618,7 +83680,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EndingType.js":423,"./utils.js":591,"webidl-conversions":1075}],402:[function(require,module,exports){
+},{"./EndingType.js":427,"./utils.js":595,"webidl-conversions":1079}],406:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -83734,7 +83796,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/CDATASection-impl.js");
 
-},{"../nodes/CDATASection-impl.js":643,"./Text.js":574,"./utils.js":591,"webidl-conversions":1075}],403:[function(require,module,exports){
+},{"../nodes/CDATASection-impl.js":647,"./Text.js":578,"./utils.js":595,"webidl-conversions":1079}],407:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84172,7 +84234,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/CharacterData-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/CharacterData-impl.js":644,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],404:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/CharacterData-impl.js":648,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],408:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84338,7 +84400,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/CloseEvent-impl.js");
 
-},{"../events/CloseEvent-impl.js":364,"./CloseEventInit.js":405,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],405:[function(require,module,exports){
+},{"../events/CloseEvent-impl.js":368,"./CloseEventInit.js":409,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],409:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84396,7 +84458,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],406:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],410:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84520,7 +84582,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/Comment-impl.js");
 
-},{"../nodes/Comment-impl.js":646,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],407:[function(require,module,exports){
+},{"../nodes/Comment-impl.js":650,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],411:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84739,7 +84801,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/CompositionEvent-impl.js");
 
-},{"../events/CompositionEvent-impl.js":365,"./CompositionEventInit.js":408,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],408:[function(require,module,exports){
+},{"../events/CompositionEvent-impl.js":369,"./CompositionEventInit.js":412,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],412:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84773,7 +84835,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],409:[function(require,module,exports){
+},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],413:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -84813,7 +84875,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],410:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],414:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85057,7 +85119,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../custom-elements/CustomElementRegistry-impl.js");
 
-},{"../custom-elements/CustomElementRegistry-impl.js":357,"../helpers/custom-elements.js":596,"./CustomElementConstructor.js":409,"./ElementDefinitionOptions.js":422,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],411:[function(require,module,exports){
+},{"../custom-elements/CustomElementRegistry-impl.js":361,"../helpers/custom-elements.js":600,"./CustomElementConstructor.js":413,"./ElementDefinitionOptions.js":426,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],415:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85259,7 +85321,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/CustomEvent-impl.js");
 
-},{"../events/CustomEvent-impl.js":366,"./CustomEventInit.js":412,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],412:[function(require,module,exports){
+},{"../events/CustomEvent-impl.js":370,"./CustomEventInit.js":416,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],416:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85293,7 +85355,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],413:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],417:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85527,7 +85589,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/DOMImplementation-impl.js");
 
-},{"../nodes/DOMImplementation-impl.js":647,"./DocumentType.js":419,"./utils.js":591,"webidl-conversions":1075}],414:[function(require,module,exports){
+},{"../nodes/DOMImplementation-impl.js":651,"./DocumentType.js":423,"./utils.js":595,"webidl-conversions":1079}],418:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85669,7 +85731,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../domparsing/DOMParser-impl.js");
 
-},{"../domparsing/DOMParser-impl.js":359,"./SupportedType.js":573,"./utils.js":591,"webidl-conversions":1075}],415:[function(require,module,exports){
+},{"../domparsing/DOMParser-impl.js":363,"./SupportedType.js":577,"./utils.js":595,"webidl-conversions":1079}],419:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -85993,7 +86055,7 @@ class ProxyHandler {
 
 const Impl = require("../nodes/DOMStringMap-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/DOMStringMap-impl.js":648,"./utils.js":591,"webidl-conversions":1075}],416:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/DOMStringMap-impl.js":652,"./utils.js":595,"webidl-conversions":1079}],420:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -86526,7 +86588,7 @@ const proxyHandler = {
 
 const Impl = require("../nodes/DOMTokenList-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/DOMTokenList-impl.js":649,"./utils.js":591,"webidl-conversions":1075}],417:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/DOMTokenList-impl.js":653,"./utils.js":595,"webidl-conversions":1079}],421:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -89850,7 +89912,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/Document-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/Document-impl.js":650,"./ElementCreationOptions.js":421,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./Node.js":537,"./NodeFilter.js":538,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],418:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/Document-impl.js":654,"./ElementCreationOptions.js":425,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./Node.js":541,"./NodeFilter.js":542,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],422:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -90177,7 +90239,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/DocumentFragment-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/DocumentFragment-impl.js":651,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],419:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/DocumentFragment-impl.js":655,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],423:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -90425,7 +90487,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/DocumentType-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/DocumentType-impl.js":653,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],420:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/DocumentType-impl.js":657,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],424:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92036,7 +92098,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/Element-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/Element-impl.js":654,"./Attr.js":396,"./Node.js":537,"./ShadowRootInit.js":565,"./utils.js":591,"webidl-conversions":1075}],421:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/Element-impl.js":658,"./Attr.js":400,"./Node.js":541,"./ShadowRootInit.js":569,"./utils.js":595,"webidl-conversions":1079}],425:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92064,7 +92126,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],422:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],426:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92092,7 +92154,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],423:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],427:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["transparent", "native"]);
@@ -92106,7 +92168,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],424:[function(require,module,exports){
+},{}],428:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92294,7 +92356,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/ErrorEvent-impl.js");
 
-},{"../events/ErrorEvent-impl.js":367,"./ErrorEventInit.js":425,"./Event.js":426,"./utils.js":591,"webidl-conversions":1075}],425:[function(require,module,exports){
+},{"../events/ErrorEvent-impl.js":371,"./ErrorEventInit.js":429,"./Event.js":430,"./utils.js":595,"webidl-conversions":1079}],429:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92376,7 +92438,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],426:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],430:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92768,7 +92830,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/Event-impl.js");
 
-},{"../events/Event-impl.js":368,"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],427:[function(require,module,exports){
+},{"../events/Event-impl.js":372,"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],431:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92810,7 +92872,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],428:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],432:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92864,7 +92926,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],429:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],433:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92901,7 +92963,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
 
 exports.install = (globalObject, globalNames) => {};
 
-},{"./utils.js":591,"webidl-conversions":1075}],430:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],434:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -92931,7 +92993,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],431:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],435:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -93121,7 +93183,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],432:[function(require,module,exports){
+},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],436:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -93375,7 +93437,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/EventTarget-impl.js");
 
-},{"../events/EventTarget-impl.js":370,"./AddEventListenerOptions.js":394,"./Event.js":426,"./EventListener.js":429,"./EventListenerOptions.js":430,"./utils.js":591,"webidl-conversions":1075}],433:[function(require,module,exports){
+},{"../events/EventTarget-impl.js":374,"./AddEventListenerOptions.js":398,"./Event.js":430,"./EventListener.js":433,"./EventListenerOptions.js":434,"./utils.js":595,"webidl-conversions":1079}],437:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -93506,7 +93568,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../window/External-impl.js");
 
-},{"../window/External-impl.js":764,"./utils.js":591,"webidl-conversions":1075}],434:[function(require,module,exports){
+},{"../window/External-impl.js":768,"./utils.js":595,"webidl-conversions":1079}],438:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -93684,7 +93746,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../file-api/File-impl.js");
 
-},{"../file-api/File-impl.js":388,"./Blob.js":399,"./FilePropertyBag.js":436,"./utils.js":591,"webidl-conversions":1075}],435:[function(require,module,exports){
+},{"../file-api/File-impl.js":392,"./Blob.js":403,"./FilePropertyBag.js":440,"./utils.js":595,"webidl-conversions":1079}],439:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -93991,7 +94053,7 @@ const proxyHandler = {
 
 const Impl = require("../file-api/FileList-impl.js");
 
-},{"../file-api/FileList-impl.js":389,"./utils.js":591,"webidl-conversions":1075}],436:[function(require,module,exports){
+},{"../file-api/FileList-impl.js":393,"./utils.js":595,"webidl-conversions":1079}],440:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -94023,7 +94085,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./BlobPropertyBag.js":401,"./utils.js":591,"webidl-conversions":1075}],437:[function(require,module,exports){
+},{"./BlobPropertyBag.js":405,"./utils.js":595,"webidl-conversions":1079}],441:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -94465,7 +94527,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../file-api/FileReader-impl.js");
 
-},{"../file-api/FileReader-impl.js":390,"./Blob.js":399,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],438:[function(require,module,exports){
+},{"../file-api/FileReader-impl.js":394,"./Blob.js":403,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],442:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -94609,7 +94671,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/FocusEvent-impl.js");
 
-},{"../events/FocusEvent-impl.js":371,"./FocusEventInit.js":439,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],439:[function(require,module,exports){
+},{"../events/FocusEvent-impl.js":375,"./FocusEventInit.js":443,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],443:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -94647,7 +94709,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventTarget.js":432,"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],440:[function(require,module,exports){
+},{"./EventTarget.js":436,"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],444:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -95070,7 +95132,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../xhr/FormData-impl.js");
 
-},{"../xhr/FormData-impl.js":770,"./Blob.js":399,"./Function.js":441,"./HTMLFormElement.js":463,"./utils.js":591,"webidl-conversions":1075}],441:[function(require,module,exports){
+},{"../xhr/FormData-impl.js":774,"./Blob.js":403,"./Function.js":445,"./HTMLFormElement.js":467,"./utils.js":595,"webidl-conversions":1079}],445:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -95118,7 +95180,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],442:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],446:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -95148,7 +95210,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],443:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],447:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -96065,7 +96127,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLAnchorElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLAnchorElement-impl.js":657,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],444:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLAnchorElement-impl.js":661,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],448:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -96806,7 +96868,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLAreaElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLAreaElement-impl.js":658,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],445:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLAreaElement-impl.js":662,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],449:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -96923,7 +96985,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLAudioElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLAudioElement-impl.js":659,"./HTMLMediaElement.js":479,"./utils.js":591,"webidl-conversions":1075}],446:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLAudioElement-impl.js":663,"./HTMLMediaElement.js":483,"./utils.js":595,"webidl-conversions":1079}],450:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -97078,7 +97140,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLBRElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBRElement-impl.js":660,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],447:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBRElement-impl.js":664,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],451:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -97268,7 +97330,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLBaseElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBaseElement-impl.js":661,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],448:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBaseElement-impl.js":665,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],452:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -98078,7 +98140,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLBodyElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLBodyElement-impl.js":662,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./utils.js":591,"webidl-conversions":1075}],449:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLBodyElement-impl.js":666,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./utils.js":595,"webidl-conversions":1079}],453:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -98567,7 +98629,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLButtonElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLButtonElement-impl.js":663,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],450:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLButtonElement-impl.js":667,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],454:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -98860,7 +98922,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLCanvasElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLCanvasElement-impl.js":664,"./BlobCallback.js":400,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],451:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLCanvasElement-impl.js":668,"./BlobCallback.js":404,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],455:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99220,7 +99282,7 @@ const proxyHandler = {
 
 const Impl = require("../nodes/HTMLCollection-impl.js");
 
-},{"../nodes/HTMLCollection-impl.js":665,"./utils.js":591,"webidl-conversions":1075}],452:[function(require,module,exports){
+},{"../nodes/HTMLCollection-impl.js":669,"./utils.js":595,"webidl-conversions":1079}],456:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99378,7 +99440,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDListElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDListElement-impl.js":666,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],453:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDListElement-impl.js":670,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],457:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99533,7 +99595,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDataElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDataElement-impl.js":667,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],454:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDataElement-impl.js":671,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],458:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99663,7 +99725,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDataListElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLDataListElement-impl.js":668,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],455:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLDataListElement-impl.js":672,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],459:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99821,7 +99883,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDetailsElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDetailsElement-impl.js":669,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],456:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDetailsElement-impl.js":673,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],460:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -99979,7 +100041,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDialogElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDialogElement-impl.js":670,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],457:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDialogElement-impl.js":674,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],461:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -100137,7 +100199,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDirectoryElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDirectoryElement-impl.js":671,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],458:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDirectoryElement-impl.js":675,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],462:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -100292,7 +100354,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLDivElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLDivElement-impl.js":672,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],459:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLDivElement-impl.js":676,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],463:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -102563,7 +102625,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLElement-impl.js":673,"./Element.js":420,"./EventHandlerNonNull.js":427,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],460:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLElement-impl.js":677,"./Element.js":424,"./EventHandlerNonNull.js":431,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],464:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -102911,7 +102973,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLEmbedElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLEmbedElement-impl.js":674,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],461:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLEmbedElement-impl.js":678,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],465:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -103228,7 +103290,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLFieldSetElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFieldSetElement-impl.js":675,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],462:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFieldSetElement-impl.js":679,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],466:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -103456,7 +103518,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLFontElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFontElement-impl.js":676,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],463:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFontElement-impl.js":680,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],467:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -103915,7 +103977,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLFormElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFormElement-impl.js":677,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],464:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFormElement-impl.js":681,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],468:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -104376,7 +104438,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLFrameElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLFrameElement-impl.js":678,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],465:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLFrameElement-impl.js":682,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],469:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -105061,7 +105123,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLFrameSetElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLFrameSetElement-impl.js":679,"./EventHandlerNonNull.js":427,"./HTMLElement.js":459,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./utils.js":591,"webidl-conversions":1075}],466:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLFrameSetElement-impl.js":683,"./EventHandlerNonNull.js":431,"./HTMLElement.js":463,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./utils.js":595,"webidl-conversions":1079}],470:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -105363,7 +105425,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLHRElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHRElement-impl.js":680,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],467:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHRElement-impl.js":684,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],471:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -105480,7 +105542,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLHeadElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLHeadElement-impl.js":681,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],468:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLHeadElement-impl.js":685,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],472:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -105635,7 +105697,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLHeadingElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHeadingElement-impl.js":682,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],469:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHeadingElement-impl.js":686,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],473:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -105790,7 +105852,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLHtmlElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLHtmlElement-impl.js":683,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],470:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLHtmlElement-impl.js":687,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],474:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -106413,7 +106475,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLIFrameElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLIFrameElement-impl.js":685,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],471:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLIFrameElement-impl.js":689,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],475:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -107204,7 +107266,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLImageElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLImageElement-impl.js":686,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],472:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLImageElement-impl.js":690,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],476:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -108902,7 +108964,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLInputElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLInputElement-impl.js":687,"./FileList.js":435,"./HTMLElement.js":459,"./SelectionMode.js":563,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],473:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLInputElement-impl.js":691,"./FileList.js":439,"./HTMLElement.js":463,"./SelectionMode.js":567,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],477:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -109098,7 +109160,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLLIElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLLIElement-impl.js":688,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],474:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLLIElement-impl.js":692,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],478:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -109275,7 +109337,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLLabelElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLLabelElement-impl.js":689,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],475:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLLabelElement-impl.js":693,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],479:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -109441,7 +109503,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLLegendElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLLegendElement-impl.js":690,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],476:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLLegendElement-impl.js":694,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],480:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -109939,7 +110001,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLLinkElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLLinkElement-impl.js":691,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],477:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLLinkElement-impl.js":695,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],481:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -110107,7 +110169,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMapElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMapElement-impl.js":692,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],478:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMapElement-impl.js":696,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],482:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -110618,7 +110680,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMarqueeElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLMarqueeElement-impl.js":693,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],479:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLMarqueeElement-impl.js":697,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],483:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -111422,7 +111484,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMediaElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../nodes/HTMLMediaElement-impl.js":694,"./HTMLElement.js":459,"./TextTrackKind.js":575,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],480:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../nodes/HTMLMediaElement-impl.js":698,"./HTMLElement.js":463,"./TextTrackKind.js":579,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],484:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -111580,7 +111642,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMenuElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMenuElement-impl.js":695,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],481:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMenuElement-impl.js":699,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],485:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -111843,7 +111905,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMetaElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMetaElement-impl.js":696,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],482:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMetaElement-impl.js":700,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],486:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -112183,7 +112245,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLMeterElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLMeterElement-impl.js":697,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],483:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLMeterElement-impl.js":701,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],487:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -112387,7 +112449,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLModElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLModElement-impl.js":698,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],484:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLModElement-impl.js":702,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],488:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -112655,7 +112717,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLOListElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOListElement-impl.js":699,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],485:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOListElement-impl.js":703,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],489:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -113496,7 +113558,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLObjectElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLObjectElement-impl.js":700,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],486:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLObjectElement-impl.js":704,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],490:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -113690,7 +113752,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLOptGroupElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOptGroupElement-impl.js":701,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],487:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOptGroupElement-impl.js":705,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],491:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -114043,7 +114105,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLOptionElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOptionElement-impl.js":702,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],488:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOptionElement-impl.js":706,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],492:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -114578,7 +114640,7 @@ class ProxyHandler {
 
 const Impl = require("../nodes/HTMLOptionsCollection-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/HTMLOptionsCollection-impl.js":703,"./HTMLCollection.js":451,"./HTMLElement.js":459,"./HTMLOptGroupElement.js":486,"./HTMLOptionElement.js":487,"./utils.js":591,"webidl-conversions":1075}],489:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/HTMLOptionsCollection-impl.js":707,"./HTMLCollection.js":455,"./HTMLElement.js":463,"./HTMLOptGroupElement.js":490,"./HTMLOptionElement.js":491,"./utils.js":595,"webidl-conversions":1079}],493:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -114951,7 +115013,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLOutputElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLOutputElement-impl.js":705,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],490:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLOutputElement-impl.js":709,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],494:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -115106,7 +115168,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLParagraphElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLParagraphElement-impl.js":706,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],491:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLParagraphElement-impl.js":710,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],495:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -115369,7 +115431,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLParamElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLParamElement-impl.js":707,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],492:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLParamElement-impl.js":711,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],496:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -115486,7 +115548,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLPictureElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLPictureElement-impl.js":708,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],493:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLPictureElement-impl.js":712,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],497:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -115646,7 +115708,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLPreElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLPreElement-impl.js":709,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],494:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLPreElement-impl.js":713,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],498:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -115857,7 +115919,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLProgressElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLProgressElement-impl.js":710,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],495:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLProgressElement-impl.js":714,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],499:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -116025,7 +116087,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLQuoteElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLQuoteElement-impl.js":711,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],496:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLQuoteElement-impl.js":715,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],500:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -116451,7 +116513,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLScriptElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLScriptElement-impl.js":712,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],497:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLScriptElement-impl.js":716,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],501:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -117410,7 +117472,7 @@ class ProxyHandler {
 
 const Impl = require("../nodes/HTMLSelectElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLSelectElement-impl.js":713,"./HTMLElement.js":459,"./HTMLOptGroupElement.js":486,"./HTMLOptionElement.js":487,"./utils.js":591,"webidl-conversions":1075}],498:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLSelectElement-impl.js":717,"./HTMLElement.js":463,"./HTMLOptGroupElement.js":490,"./HTMLOptionElement.js":491,"./utils.js":595,"webidl-conversions":1079}],502:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -117600,7 +117662,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLSlotElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLSlotElement-impl.js":714,"./AssignedNodesOptions.js":395,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],499:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLSlotElement-impl.js":718,"./AssignedNodesOptions.js":399,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],503:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -117912,7 +117974,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLSourceElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLSourceElement-impl.js":715,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],500:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLSourceElement-impl.js":719,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],504:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -118029,7 +118091,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLSpanElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLSpanElement-impl.js":716,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],501:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLSpanElement-impl.js":720,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],505:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -118231,7 +118293,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLStyleElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLStyleElement-impl.js":717,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],502:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLStyleElement-impl.js":721,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],506:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -118386,7 +118448,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableCaptionElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableCaptionElement-impl.js":718,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],503:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableCaptionElement-impl.js":722,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],507:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -119023,7 +119085,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableCellElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableCellElement-impl.js":719,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],504:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableCellElement-impl.js":723,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],508:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -119364,7 +119426,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableColElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLTableColElement-impl.js":720,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],505:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLTableColElement-impl.js":724,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],509:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -120091,7 +120153,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableElement-impl.js":721,"./HTMLElement.js":459,"./HTMLTableCaptionElement.js":502,"./HTMLTableSectionElement.js":507,"./utils.js":591,"webidl-conversions":1075}],506:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableElement-impl.js":725,"./HTMLElement.js":463,"./HTMLTableCaptionElement.js":506,"./HTMLTableSectionElement.js":511,"./utils.js":595,"webidl-conversions":1079}],510:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -120479,7 +120541,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableRowElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableRowElement-impl.js":722,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],507:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableRowElement-impl.js":726,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],511:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -120810,7 +120872,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTableSectionElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTableSectionElement-impl.js":723,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],508:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTableSectionElement-impl.js":727,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],512:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -120938,7 +121000,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTemplateElement-impl.js");
 
-},{"../helpers/html-constructor.js":603,"../nodes/HTMLTemplateElement-impl.js":724,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],509:[function(require,module,exports){
+},{"../helpers/html-constructor.js":607,"../nodes/HTMLTemplateElement-impl.js":728,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],513:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122028,7 +122090,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTextAreaElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLTextAreaElement-impl.js":725,"./HTMLElement.js":459,"./SelectionMode.js":563,"./utils.js":591,"webidl-conversions":1075}],510:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLTextAreaElement-impl.js":729,"./HTMLElement.js":463,"./SelectionMode.js":567,"./utils.js":595,"webidl-conversions":1079}],514:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122183,7 +122245,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTimeElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTimeElement-impl.js":726,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],511:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTimeElement-impl.js":730,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],515:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122337,7 +122399,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTitleElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLTitleElement-impl.js":727,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],512:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLTitleElement-impl.js":731,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],516:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122673,7 +122735,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLTrackElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../nodes/HTMLTrackElement-impl.js":728,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],513:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../nodes/HTMLTrackElement-impl.js":732,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],517:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122867,7 +122929,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLUListElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/html-constructor.js":603,"../nodes/HTMLUListElement-impl.js":729,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],514:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/html-constructor.js":607,"../nodes/HTMLUListElement-impl.js":733,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],518:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -122983,7 +123045,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLUnknownElement-impl.js");
 
-},{"../nodes/HTMLUnknownElement-impl.js":730,"./HTMLElement.js":459,"./utils.js":591,"webidl-conversions":1075}],515:[function(require,module,exports){
+},{"../nodes/HTMLUnknownElement-impl.js":734,"./HTMLElement.js":463,"./utils.js":595,"webidl-conversions":1079}],519:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -123295,7 +123357,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/HTMLVideoElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../helpers/document-base-url.js":599,"../helpers/html-constructor.js":603,"../helpers/strings.js":616,"../nodes/HTMLVideoElement-impl.js":731,"./HTMLMediaElement.js":479,"./utils.js":591,"webidl-conversions":1075,"whatwg-url":1113}],516:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../helpers/document-base-url.js":603,"../helpers/html-constructor.js":607,"../helpers/strings.js":620,"../nodes/HTMLVideoElement-impl.js":735,"./HTMLMediaElement.js":483,"./utils.js":595,"webidl-conversions":1079,"whatwg-url":1117}],520:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -123450,7 +123512,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/HashChangeEvent-impl.js");
 
-},{"../events/HashChangeEvent-impl.js":372,"./Event.js":426,"./HashChangeEventInit.js":517,"./utils.js":591,"webidl-conversions":1075}],517:[function(require,module,exports){
+},{"../events/HashChangeEvent-impl.js":376,"./Event.js":430,"./HashChangeEventInit.js":521,"./utils.js":595,"webidl-conversions":1079}],521:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -123496,7 +123558,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],518:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],522:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -123877,7 +123939,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../fetch/Headers-impl.js");
 
-},{"../fetch/Headers-impl.js":384,"./Function.js":441,"./utils.js":591,"webidl-conversions":1075}],519:[function(require,module,exports){
+},{"../fetch/Headers-impl.js":388,"./Function.js":445,"./utils.js":595,"webidl-conversions":1079}],523:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -124135,7 +124197,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../window/History-impl.js");
 
-},{"../window/History-impl.js":765,"./utils.js":591,"webidl-conversions":1075}],520:[function(require,module,exports){
+},{"../window/History-impl.js":769,"./utils.js":595,"webidl-conversions":1079}],524:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -124301,7 +124363,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/InputEvent-impl.js");
 
-},{"../events/InputEvent-impl.js":373,"./InputEventInit.js":521,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],521:[function(require,module,exports){
+},{"../events/InputEvent-impl.js":377,"./InputEventInit.js":525,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],525:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -124362,7 +124424,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],522:[function(require,module,exports){
+},{"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],526:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -124777,7 +124839,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/KeyboardEvent-impl.js");
 
-},{"../events/KeyboardEvent-impl.js":374,"./KeyboardEventInit.js":523,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],523:[function(require,module,exports){
+},{"../events/KeyboardEvent-impl.js":378,"./KeyboardEventInit.js":527,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],527:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -124883,7 +124945,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventModifierInit.js":431,"./utils.js":591,"webidl-conversions":1075}],524:[function(require,module,exports){
+},{"./EventModifierInit.js":435,"./utils.js":595,"webidl-conversions":1079}],528:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -125255,7 +125317,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../window/Location-impl.js");
 
-},{"../window/Location-impl.js":766,"./utils.js":591,"webidl-conversions":1075}],525:[function(require,module,exports){
+},{"../window/Location-impl.js":770,"./utils.js":595,"webidl-conversions":1079}],529:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -125558,7 +125620,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/MessageEvent-impl.js");
 
-},{"../events/MessageEvent-impl.js":375,"./Event.js":426,"./MessageEventInit.js":526,"./utils.js":591,"webidl-conversions":1075}],526:[function(require,module,exports){
+},{"../events/MessageEvent-impl.js":379,"./Event.js":430,"./MessageEventInit.js":530,"./utils.js":595,"webidl-conversions":1079}],530:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -125654,7 +125716,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],527:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],531:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -125807,7 +125869,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../navigator/MimeType-impl.js");
 
-},{"../navigator/MimeType-impl.js":629,"./utils.js":591,"webidl-conversions":1075}],528:[function(require,module,exports){
+},{"../navigator/MimeType-impl.js":633,"./utils.js":595,"webidl-conversions":1079}],532:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -126139,7 +126201,7 @@ const proxyHandler = {
 
 const Impl = require("../navigator/MimeTypeArray-impl.js");
 
-},{"../navigator/MimeTypeArray-impl.js":630,"./utils.js":591,"webidl-conversions":1075}],529:[function(require,module,exports){
+},{"../navigator/MimeTypeArray-impl.js":634,"./utils.js":595,"webidl-conversions":1079}],533:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -126604,7 +126666,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/MouseEvent-impl.js");
 
-},{"../events/MouseEvent-impl.js":376,"./EventTarget.js":432,"./MouseEventInit.js":530,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],530:[function(require,module,exports){
+},{"../events/MouseEvent-impl.js":380,"./EventTarget.js":436,"./MouseEventInit.js":534,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],534:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -126714,7 +126776,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventModifierInit.js":431,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],531:[function(require,module,exports){
+},{"./EventModifierInit.js":435,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],535:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -126754,7 +126816,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],532:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],536:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -126927,7 +126989,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../mutation-observer/MutationObserver-impl.js");
 
-},{"../mutation-observer/MutationObserver-impl.js":626,"./MutationCallback.js":531,"./MutationObserverInit.js":533,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],533:[function(require,module,exports){
+},{"../mutation-observer/MutationObserver-impl.js":630,"./MutationCallback.js":535,"./MutationObserverInit.js":537,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],537:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -127032,7 +127094,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],534:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],538:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -127250,7 +127312,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../mutation-observer/MutationRecord-impl.js");
 
-},{"../mutation-observer/MutationRecord-impl.js":627,"./utils.js":591,"webidl-conversions":1075}],535:[function(require,module,exports){
+},{"../mutation-observer/MutationRecord-impl.js":631,"./utils.js":595,"webidl-conversions":1079}],539:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -127774,7 +127836,7 @@ const proxyHandler = {
 
 const Impl = require("../attributes/NamedNodeMap-impl.js");
 
-},{"../attributes/NamedNodeMap-impl.js":353,"../helpers/custom-elements.js":596,"./Attr.js":396,"./utils.js":591,"webidl-conversions":1075}],536:[function(require,module,exports){
+},{"../attributes/NamedNodeMap-impl.js":357,"../helpers/custom-elements.js":600,"./Attr.js":400,"./utils.js":595,"webidl-conversions":1079}],540:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -128073,7 +128135,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../navigator/Navigator-impl.js");
 
-},{"../navigator/Navigator-impl.js":631,"./utils.js":591,"webidl-conversions":1075}],537:[function(require,module,exports){
+},{"../navigator/Navigator-impl.js":635,"./utils.js":595,"webidl-conversions":1079}],541:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -128811,7 +128873,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/Node-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/Node-impl.js":732,"./EventTarget.js":432,"./GetRootNodeOptions.js":442,"./utils.js":591,"webidl-conversions":1075}],538:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/Node-impl.js":736,"./EventTarget.js":436,"./GetRootNodeOptions.js":446,"./utils.js":595,"webidl-conversions":1079}],542:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -128887,7 +128949,7 @@ exports.install = (globalObject, globalNames) => {
   });
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],539:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],543:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129085,7 +129147,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../traversal/NodeIterator-impl.js");
 
-},{"../traversal/NodeIterator-impl.js":758,"./utils.js":591,"webidl-conversions":1075}],540:[function(require,module,exports){
+},{"../traversal/NodeIterator-impl.js":762,"./utils.js":595,"webidl-conversions":1079}],544:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129396,7 +129458,7 @@ const proxyHandler = {
 
 const Impl = require("../nodes/NodeList-impl.js");
 
-},{"../nodes/NodeList-impl.js":733,"./utils.js":591,"webidl-conversions":1075}],541:[function(require,module,exports){
+},{"../nodes/NodeList-impl.js":737,"./utils.js":595,"webidl-conversions":1079}],545:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129444,7 +129506,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],542:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],546:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129506,7 +129568,7 @@ exports.convert = (value, { context = "The provided value" } = {}) => {
   return invokeTheCallbackFunction;
 };
 
-},{"./utils.js":591,"webidl-conversions":1075}],543:[function(require,module,exports){
+},{"./utils.js":595,"webidl-conversions":1079}],547:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129654,7 +129716,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/PageTransitionEvent-impl.js");
 
-},{"../events/PageTransitionEvent-impl.js":377,"./Event.js":426,"./PageTransitionEventInit.js":544,"./utils.js":591,"webidl-conversions":1075}],544:[function(require,module,exports){
+},{"../events/PageTransitionEvent-impl.js":381,"./Event.js":430,"./PageTransitionEventInit.js":548,"./utils.js":595,"webidl-conversions":1079}],548:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129688,7 +129750,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],545:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],549:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -129835,7 +129897,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../hr-time/Performance-impl.js");
 
-},{"../hr-time/Performance-impl.js":624,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],546:[function(require,module,exports){
+},{"../hr-time/Performance-impl.js":628,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],550:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -130198,7 +130260,7 @@ const proxyHandler = {
 
 const Impl = require("../navigator/Plugin-impl.js");
 
-},{"../navigator/Plugin-impl.js":638,"./utils.js":591,"webidl-conversions":1075}],547:[function(require,module,exports){
+},{"../navigator/Plugin-impl.js":642,"./utils.js":595,"webidl-conversions":1079}],551:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -130540,7 +130602,7 @@ const proxyHandler = {
 
 const Impl = require("../navigator/PluginArray-impl.js");
 
-},{"../navigator/PluginArray-impl.js":639,"./utils.js":591,"webidl-conversions":1075}],548:[function(require,module,exports){
+},{"../navigator/PluginArray-impl.js":643,"./utils.js":595,"webidl-conversions":1079}],552:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -130684,7 +130746,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/PopStateEvent-impl.js");
 
-},{"../events/PopStateEvent-impl.js":378,"./Event.js":426,"./PopStateEventInit.js":549,"./utils.js":591,"webidl-conversions":1075}],549:[function(require,module,exports){
+},{"../events/PopStateEvent-impl.js":382,"./Event.js":430,"./PopStateEventInit.js":553,"./utils.js":595,"webidl-conversions":1079}],553:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -130718,7 +130780,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],550:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],554:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -130845,7 +130907,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/ProcessingInstruction-impl.js");
 
-},{"../nodes/ProcessingInstruction-impl.js":737,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],551:[function(require,module,exports){
+},{"../nodes/ProcessingInstruction-impl.js":741,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],555:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -131013,7 +131075,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/ProgressEvent-impl.js");
 
-},{"../events/ProgressEvent-impl.js":379,"./Event.js":426,"./ProgressEventInit.js":552,"./utils.js":591,"webidl-conversions":1075}],552:[function(require,module,exports){
+},{"../events/ProgressEvent-impl.js":383,"./Event.js":430,"./ProgressEventInit.js":556,"./utils.js":595,"webidl-conversions":1079}],556:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -131071,7 +131133,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],553:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],557:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -131692,7 +131754,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../range/Range-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../range/Range-impl.js":750,"./AbstractRange.js":393,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],554:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../range/Range-impl.js":754,"./AbstractRange.js":397,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],558:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -131837,7 +131899,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../svg/SVGAnimatedString-impl.js");
 
-},{"../svg/SVGAnimatedString-impl.js":754,"./utils.js":591,"webidl-conversions":1075}],555:[function(require,module,exports){
+},{"../svg/SVGAnimatedString-impl.js":758,"./utils.js":595,"webidl-conversions":1079}],559:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -133825,7 +133887,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/SVGElement-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/SVGElement-impl.js":738,"./Element.js":420,"./EventHandlerNonNull.js":427,"./OnErrorEventHandlerNonNull.js":542,"./utils.js":591,"webidl-conversions":1075}],556:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/SVGElement-impl.js":742,"./Element.js":424,"./EventHandlerNonNull.js":431,"./OnErrorEventHandlerNonNull.js":546,"./utils.js":595,"webidl-conversions":1079}],560:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -133971,7 +134033,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/SVGGraphicsElement-impl.js");
 
-},{"../nodes/SVGGraphicsElement-impl.js":739,"./SVGElement.js":555,"./utils.js":591,"webidl-conversions":1075}],557:[function(require,module,exports){
+},{"../nodes/SVGGraphicsElement-impl.js":743,"./SVGElement.js":559,"./utils.js":595,"webidl-conversions":1079}],561:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -134103,7 +134165,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../svg/SVGNumber-impl.js");
 
-},{"../svg/SVGNumber-impl.js":756,"./utils.js":591,"webidl-conversions":1075}],558:[function(require,module,exports){
+},{"../svg/SVGNumber-impl.js":760,"./utils.js":595,"webidl-conversions":1079}],562:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -134786,7 +134848,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/SVGSVGElement-impl.js");
 
-},{"../nodes/SVGSVGElement-impl.js":740,"./EventHandlerNonNull.js":427,"./OnBeforeUnloadEventHandlerNonNull.js":541,"./SVGGraphicsElement.js":556,"./utils.js":591,"webidl-conversions":1075}],559:[function(require,module,exports){
+},{"../nodes/SVGSVGElement-impl.js":744,"./EventHandlerNonNull.js":431,"./OnBeforeUnloadEventHandlerNonNull.js":545,"./SVGGraphicsElement.js":560,"./utils.js":595,"webidl-conversions":1079}],563:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -135292,7 +135354,7 @@ const proxyHandler = {
 
 const Impl = require("../svg/SVGStringList-impl.js");
 
-},{"../svg/SVGStringList-impl.js":757,"./utils.js":591,"webidl-conversions":1075}],560:[function(require,module,exports){
+},{"../svg/SVGStringList-impl.js":761,"./utils.js":595,"webidl-conversions":1079}],564:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -135408,7 +135470,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/SVGTitleElement-impl.js");
 
-},{"../nodes/SVGTitleElement-impl.js":742,"./SVGElement.js":555,"./utils.js":591,"webidl-conversions":1075}],561:[function(require,module,exports){
+},{"../nodes/SVGTitleElement-impl.js":746,"./SVGElement.js":559,"./utils.js":595,"webidl-conversions":1079}],565:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -135583,7 +135645,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../window/Screen-impl.js");
 
-},{"../window/Screen-impl.js":767,"./utils.js":591,"webidl-conversions":1075}],562:[function(require,module,exports){
+},{"../window/Screen-impl.js":771,"./utils.js":595,"webidl-conversions":1079}],566:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136112,7 +136174,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../selection/Selection-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../selection/Selection-impl.js":753,"./Node.js":537,"./Range.js":553,"./utils.js":591,"webidl-conversions":1075}],563:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../selection/Selection-impl.js":757,"./Node.js":541,"./Range.js":557,"./utils.js":595,"webidl-conversions":1079}],567:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["select", "start", "end", "preserve"]);
@@ -136126,7 +136188,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],564:[function(require,module,exports){
+},{}],568:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136313,7 +136375,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/ShadowRoot-impl.js");
 
-},{"../helpers/custom-elements.js":596,"../nodes/ShadowRoot-impl.js":743,"./DocumentFragment.js":418,"./utils.js":591,"webidl-conversions":1075}],565:[function(require,module,exports){
+},{"../helpers/custom-elements.js":600,"../nodes/ShadowRoot-impl.js":747,"./DocumentFragment.js":422,"./utils.js":595,"webidl-conversions":1079}],569:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136345,7 +136407,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./ShadowRootMode.js":566,"./utils.js":591,"webidl-conversions":1075}],566:[function(require,module,exports){
+},{"./ShadowRootMode.js":570,"./utils.js":595,"webidl-conversions":1079}],570:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["open", "closed"]);
@@ -136359,7 +136421,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],567:[function(require,module,exports){
+},{}],571:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136487,7 +136549,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../range/StaticRange-impl.js");
 
-},{"../range/StaticRange-impl.js":751,"./AbstractRange.js":393,"./StaticRangeInit.js":568,"./utils.js":591,"webidl-conversions":1075}],568:[function(require,module,exports){
+},{"../range/StaticRange-impl.js":755,"./AbstractRange.js":397,"./StaticRangeInit.js":572,"./utils.js":595,"webidl-conversions":1079}],572:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136555,7 +136617,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],569:[function(require,module,exports){
+},{"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],573:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -136946,7 +137008,7 @@ const proxyHandler = {
 
 const Impl = require("../webstorage/Storage-impl.js");
 
-},{"../webstorage/Storage-impl.js":762,"./utils.js":591,"webidl-conversions":1075}],570:[function(require,module,exports){
+},{"../webstorage/Storage-impl.js":766,"./utils.js":595,"webidl-conversions":1079}],574:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -137253,7 +137315,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/StorageEvent-impl.js");
 
-},{"../events/StorageEvent-impl.js":380,"./Event.js":426,"./Storage.js":569,"./StorageEventInit.js":571,"./utils.js":591,"webidl-conversions":1075}],571:[function(require,module,exports){
+},{"../events/StorageEvent-impl.js":384,"./Event.js":430,"./Storage.js":573,"./StorageEventInit.js":575,"./utils.js":595,"webidl-conversions":1079}],575:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -137348,7 +137410,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./Storage.js":569,"./utils.js":591,"webidl-conversions":1075}],572:[function(require,module,exports){
+},{"./EventInit.js":432,"./Storage.js":573,"./utils.js":595,"webidl-conversions":1079}],576:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -137657,7 +137719,7 @@ const proxyHandler = {
 
 const Impl = require("../cssom/StyleSheetList-impl.js");
 
-},{"../cssom/StyleSheetList-impl.js":356,"./utils.js":591,"webidl-conversions":1075}],573:[function(require,module,exports){
+},{"../cssom/StyleSheetList-impl.js":360,"./utils.js":595,"webidl-conversions":1079}],577:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set([
@@ -137677,7 +137739,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],574:[function(require,module,exports){
+},{}],578:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -137848,7 +137910,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/Text-impl.js");
 
-},{"../nodes/Text-impl.js":745,"./CharacterData.js":403,"./utils.js":591,"webidl-conversions":1075}],575:[function(require,module,exports){
+},{"../nodes/Text-impl.js":749,"./CharacterData.js":407,"./utils.js":595,"webidl-conversions":1079}],579:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["subtitles", "captions", "descriptions", "chapters", "metadata"]);
@@ -137862,7 +137924,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],576:[function(require,module,exports){
+},{}],580:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138072,7 +138134,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/TouchEvent-impl.js");
 
-},{"../events/TouchEvent-impl.js":381,"./TouchEventInit.js":577,"./UIEvent.js":579,"./utils.js":591,"webidl-conversions":1075}],577:[function(require,module,exports){
+},{"../events/TouchEvent-impl.js":385,"./TouchEventInit.js":581,"./UIEvent.js":583,"./utils.js":595,"webidl-conversions":1079}],581:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138163,7 +138225,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventModifierInit.js":431,"./utils.js":591,"webidl-conversions":1075}],578:[function(require,module,exports){
+},{"./EventModifierInit.js":435,"./utils.js":595,"webidl-conversions":1079}],582:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138401,7 +138463,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../traversal/TreeWalker-impl.js");
 
-},{"../traversal/TreeWalker-impl.js":759,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],579:[function(require,module,exports){
+},{"../traversal/TreeWalker-impl.js":763,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],583:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138638,7 +138700,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/UIEvent-impl.js");
 
-},{"../events/UIEvent-impl.js":382,"./Event.js":426,"./UIEventInit.js":580,"./utils.js":591,"webidl-conversions":1075}],580:[function(require,module,exports){
+},{"../events/UIEvent-impl.js":386,"./Event.js":430,"./UIEventInit.js":584,"./utils.js":595,"webidl-conversions":1079}],584:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138699,7 +138761,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./EventInit.js":428,"./utils.js":591,"webidl-conversions":1075}],581:[function(require,module,exports){
+},{"./EventInit.js":432,"./utils.js":595,"webidl-conversions":1079}],585:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -138929,7 +138991,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../constraint-validation/ValidityState-impl.js");
 
-},{"../constraint-validation/ValidityState-impl.js":355,"./utils.js":591,"webidl-conversions":1075}],582:[function(require,module,exports){
+},{"../constraint-validation/ValidityState-impl.js":359,"./utils.js":595,"webidl-conversions":1079}],586:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -139375,7 +139437,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../websockets/WebSocket-impl.js");
 
-},{"../websockets/WebSocket-impl.js":761,"./BinaryType.js":398,"./Blob.js":399,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],583:[function(require,module,exports){
+},{"../websockets/WebSocket-impl.js":765,"./BinaryType.js":402,"./Blob.js":403,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],587:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -139560,7 +139622,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../events/WheelEvent-impl.js");
 
-},{"../events/WheelEvent-impl.js":383,"./MouseEvent.js":529,"./WheelEventInit.js":584,"./utils.js":591,"webidl-conversions":1075}],584:[function(require,module,exports){
+},{"../events/WheelEvent-impl.js":387,"./MouseEvent.js":533,"./WheelEventInit.js":588,"./utils.js":595,"webidl-conversions":1079}],588:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -139630,7 +139692,7 @@ exports.convert = function convert(obj, { context = "The provided value" } = {})
   return ret;
 };
 
-},{"./MouseEventInit.js":530,"./utils.js":591,"webidl-conversions":1075}],585:[function(require,module,exports){
+},{"./MouseEventInit.js":534,"./utils.js":595,"webidl-conversions":1079}],589:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -139746,7 +139808,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../nodes/XMLDocument-impl.js");
 
-},{"../nodes/XMLDocument-impl.js":747,"./Document.js":417,"./utils.js":591,"webidl-conversions":1075}],586:[function(require,module,exports){
+},{"../nodes/XMLDocument-impl.js":751,"./Document.js":421,"./utils.js":595,"webidl-conversions":1079}],590:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -140365,7 +140427,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../xhr/XMLHttpRequest-impl.js");
 
-},{"../xhr/XMLHttpRequest-impl.js":771,"./Blob.js":399,"./Document.js":417,"./EventHandlerNonNull.js":427,"./FormData.js":440,"./XMLHttpRequestEventTarget.js":587,"./XMLHttpRequestResponseType.js":588,"./utils.js":591,"webidl-conversions":1075}],587:[function(require,module,exports){
+},{"../xhr/XMLHttpRequest-impl.js":775,"./Blob.js":403,"./Document.js":421,"./EventHandlerNonNull.js":431,"./FormData.js":444,"./XMLHttpRequestEventTarget.js":591,"./XMLHttpRequestResponseType.js":592,"./utils.js":595,"webidl-conversions":1079}],591:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -140708,7 +140770,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../xhr/XMLHttpRequestEventTarget-impl.js");
 
-},{"../xhr/XMLHttpRequestEventTarget-impl.js":772,"./EventHandlerNonNull.js":427,"./EventTarget.js":432,"./utils.js":591,"webidl-conversions":1075}],588:[function(require,module,exports){
+},{"../xhr/XMLHttpRequestEventTarget-impl.js":776,"./EventHandlerNonNull.js":431,"./EventTarget.js":436,"./utils.js":595,"webidl-conversions":1079}],592:[function(require,module,exports){
 "use strict";
 
 const enumerationValues = new Set(["", "arraybuffer", "blob", "document", "json", "text"]);
@@ -140722,7 +140784,7 @@ exports.convert = function convert(value, { context = "The provided value" } = {
   return string;
 };
 
-},{}],589:[function(require,module,exports){
+},{}],593:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -140838,7 +140900,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../xhr/XMLHttpRequestUpload-impl.js");
 
-},{"../xhr/XMLHttpRequestUpload-impl.js":773,"./XMLHttpRequestEventTarget.js":587,"./utils.js":591,"webidl-conversions":1075}],590:[function(require,module,exports){
+},{"../xhr/XMLHttpRequestUpload-impl.js":777,"./XMLHttpRequestEventTarget.js":591,"./utils.js":595,"webidl-conversions":1079}],594:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -140973,7 +141035,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("../domparsing/XMLSerializer-impl.js");
 
-},{"../domparsing/XMLSerializer-impl.js":361,"./Node.js":537,"./utils.js":591,"webidl-conversions":1075}],591:[function(require,module,exports){
+},{"../domparsing/XMLSerializer-impl.js":365,"./Node.js":541,"./utils.js":595,"webidl-conversions":1079}],595:[function(require,module,exports){
 "use strict";
 
 // Returns "Type(value) is Object" in ES terminology.
@@ -141116,7 +141178,7 @@ module.exports = exports = {
   iteratorResult
 };
 
-},{}],592:[function(require,module,exports){
+},{}],596:[function(require,module,exports){
 "use strict";
 const http = require("http");
 const https = require("https");
@@ -141133,7 +141195,7 @@ module.exports = function agentFactory(proxy, rejectUnauthorized) {
   return { http: new http.Agent(agentOpts), https: new https.Agent(agentOpts) };
 };
 
-},{"http":1019,"http-proxy-agent":322,"https":323,"https-proxy-agent":325,"url":1058}],593:[function(require,module,exports){
+},{"http":1023,"http-proxy-agent":326,"https":327,"https-proxy-agent":329,"url":1062}],597:[function(require,module,exports){
 "use strict";
 
 // See https://github.com/jsdom/jsdom/pull/2743#issuecomment-562991955 for background.
@@ -141144,7 +141206,7 @@ exports.copyToArrayBufferInNewRealm = (nodejsBuffer, newRealm) => {
   return newAB;
 };
 
-},{}],594:[function(require,module,exports){
+},{}],598:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -141466,7 +141528,7 @@ module.exports = {
   getHTMLElementInterface
 };
 
-},{"../generated/utils":591,"../interfaces":625,"./custom-elements":596,"./internal-constants":605,"./namespaces":609,"./runtime-script-errors":613,"./validate-names":623,"domexception/webidl2js-wrapper":243}],595:[function(require,module,exports){
+},{"../generated/utils":595,"../interfaces":629,"./custom-elements":600,"./internal-constants":609,"./namespaces":613,"./runtime-script-errors":617,"./validate-names":627,"domexception/webidl2js-wrapper":247}],599:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -141656,7 +141718,7 @@ exports.createEventAccessor = (obj, event) => {
   });
 };
 
-},{"../generated/ErrorEvent":424,"../generated/EventHandlerNonNull.js":427,"../generated/OnBeforeUnloadEventHandlerNonNull.js":541,"../generated/OnErrorEventHandlerNonNull.js":542,"../generated/utils":591,"./runtime-script-errors":613}],596:[function(require,module,exports){
+},{"../generated/ErrorEvent":428,"../generated/EventHandlerNonNull.js":431,"../generated/OnBeforeUnloadEventHandlerNonNull.js":545,"../generated/OnErrorEventHandlerNonNull.js":546,"../generated/utils":595,"./runtime-script-errors":617}],600:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -141928,7 +141990,7 @@ module.exports = {
   invokeCEReactions
 };
 
-},{"../generated/utils":591,"../node-type":641,"./namespaces":609,"./runtime-script-errors":613,"./shadow-dom":615,"domexception/webidl2js-wrapper":243,"is-potential-custom-element-name":331}],597:[function(require,module,exports){
+},{"../generated/utils":595,"../node-type":645,"./namespaces":613,"./runtime-script-errors":617,"./shadow-dom":619,"domexception/webidl2js-wrapper":247,"is-potential-custom-element-name":335}],601:[function(require,module,exports){
 "use strict";
 
 function isLeapYear(year) {
@@ -142200,7 +142262,7 @@ module.exports = {
   serializeWeek
 };
 
-},{}],598:[function(require,module,exports){
+},{}],602:[function(require,module,exports){
 "use strict";
 const { firstChildWithLocalName } = require("./traversal");
 const { HTML_NS } = require("./namespaces");
@@ -142217,7 +142279,7 @@ exports.isSummaryForParentDetails = summaryElement => {
   return firstChildWithLocalName(parent, "summary") === summaryElement;
 };
 
-},{"./namespaces":609,"./traversal":622}],599:[function(require,module,exports){
+},{"./namespaces":613,"./traversal":626}],603:[function(require,module,exports){
 "use strict";
 const whatwgURL = require("whatwg-url");
 const { implForWrapper } = require("../generated/utils");
@@ -142273,7 +142335,7 @@ function frozenBaseURL(baseElement, fallbackBaseURL) {
   return result === null ? fallbackBaseURL : result;
 }
 
-},{"../generated/utils":591,"whatwg-url":1113}],600:[function(require,module,exports){
+},{"../generated/utils":595,"whatwg-url":1117}],604:[function(require,module,exports){
 "use strict";
 
 const Event = require("../generated/Event");
@@ -142299,7 +142361,7 @@ module.exports = {
   fireAnEvent
 };
 
-},{"../generated/Event":426,"../generated/utils":591}],601:[function(require,module,exports){
+},{"../generated/Event":430,"../generated/utils":595}],605:[function(require,module,exports){
 "use strict";
 const FocusEvent = require("../generated/FocusEvent.js");
 const idlUtils = require("../generated/utils.js");
@@ -142405,7 +142467,7 @@ exports.fireFocusEventWithTargetAdjustment = (name, target, relatedTarget, { bub
   target._dispatch(event);
 };
 
-},{"../generated/FocusEvent.js":438,"../generated/utils.js":591,"./events":600,"./form-controls.js":602,"./namespaces":609,"./svg/render":620,"./traversal":622}],602:[function(require,module,exports){
+},{"../generated/FocusEvent.js":442,"../generated/utils.js":595,"./events":604,"./form-controls.js":606,"./namespaces":613,"./svg/render":624,"./traversal":626}],606:[function(require,module,exports){
 "use strict";
 
 const {
@@ -142720,7 +142782,7 @@ exports.formOwner = formControl => {
   return null;
 };
 
-},{"../generated/NodeList":540,"../node-type":641,"./dates-and-times":597,"./internal-constants":605,"./namespaces":609,"./strings":616,"./traversal":622,"whatwg-url":1113}],603:[function(require,module,exports){
+},{"../generated/NodeList":544,"../node-type":645,"./dates-and-times":601,"./internal-constants":609,"./namespaces":613,"./strings":620,"./traversal":626,"whatwg-url":1117}],607:[function(require,module,exports){
 "use strict";
 
 const { HTML_NS } = require("./namespaces");
@@ -142800,7 +142862,7 @@ module.exports = {
   HTMLConstructor
 };
 
-},{"../generated/utils":591,"./create-element":594,"./namespaces":609}],604:[function(require,module,exports){
+},{"../generated/utils":595,"./create-element":598,"./namespaces":613}],608:[function(require,module,exports){
 (function (process){(function (){
 "use strict";
 const http = require("http");
@@ -143058,7 +143120,7 @@ module.exports = class Request extends Writable {
 };
 
 }).call(this)}).call(this,require('_process'))
-},{"_process":974,"http":1019,"https":323,"stream":1004,"zlib":121}],605:[function(require,module,exports){
+},{"_process":978,"http":1023,"https":327,"stream":1008,"zlib":125}],609:[function(require,module,exports){
 "use strict";
 const SymbolTree = require("symbol-tree");
 
@@ -143072,7 +143134,7 @@ exports.cloningSteps = Symbol("cloning steps");
  */
 exports.domSymbolTree = new SymbolTree("DOM SymbolTree");
 
-},{"symbol-tree":1039}],606:[function(require,module,exports){
+},{"symbol-tree":1043}],610:[function(require,module,exports){
 "use strict";
 
 // An iterable WeakSet implementation inspired by the iterable WeakMap example code in the WeakRefs specification:
@@ -143122,7 +143184,7 @@ module.exports = class IterableWeakSet {
   }
 };
 
-},{}],607:[function(require,module,exports){
+},{}],611:[function(require,module,exports){
 "use strict";
 
 // https://infra.spec.whatwg.org/#parse-json-from-bytes
@@ -143136,7 +143198,7 @@ exports.parseJSONFromBytes = bytes => {
   return JSON.parse(jsonText);
 };
 
-},{}],608:[function(require,module,exports){
+},{}],612:[function(require,module,exports){
 "use strict";
 
 const { domSymbolTree } = require("./internal-constants");
@@ -143336,7 +143398,7 @@ module.exports = {
   signalSlotList
 };
 
-},{"../generated/Event":426,"../generated/MutationRecord":534,"../generated/utils":591,"./internal-constants":605,"./runtime-script-errors":613}],609:[function(require,module,exports){
+},{"../generated/Event":430,"../generated/MutationRecord":538,"../generated/utils":595,"./internal-constants":609,"./runtime-script-errors":617}],613:[function(require,module,exports){
 "use strict";
 
 // https://infra.spec.whatwg.org/#namespaces
@@ -143353,7 +143415,7 @@ exports.XML_NS = "http://www.w3.org/XML/1998/namespace";
 
 exports.XMLNS_NS = "http://www.w3.org/2000/xmlns/";
 
-},{}],610:[function(require,module,exports){
+},{}],614:[function(require,module,exports){
 "use strict";
 
 const NODE_TYPE = require("../node-type");
@@ -143423,7 +143485,7 @@ module.exports = {
   isFollowing
 };
 
-},{"../node-type":641,"./internal-constants":605}],611:[function(require,module,exports){
+},{"../node-type":645,"./internal-constants":609}],615:[function(require,module,exports){
 "use strict";
 const { parseFloatingPointNumber } = require("./strings");
 const {
@@ -143620,7 +143682,7 @@ exports.convertNumberToStringByType = {
   }
 };
 
-},{"./dates-and-times":597,"./strings":616}],612:[function(require,module,exports){
+},{"./dates-and-times":601,"./strings":620}],616:[function(require,module,exports){
 "use strict";
 
 // https://infra.spec.whatwg.org/#sets
@@ -143726,7 +143788,7 @@ module.exports = class OrderedSet {
   }
 };
 
-},{}],613:[function(require,module,exports){
+},{}],617:[function(require,module,exports){
 "use strict";
 const util = require("util");
 const idlUtils = require("../generated/utils");
@@ -143804,7 +143866,7 @@ function shouldBeDisplayedAsError(x) {
   return x && x.name && x.message !== undefined && x.stack;
 }
 
-},{"../generated/ErrorEvent":424,"../generated/utils":591,"../helpers/events":600,"util":1063}],614:[function(require,module,exports){
+},{"../generated/ErrorEvent":428,"../generated/utils":595,"../helpers/events":604,"util":1067}],618:[function(require,module,exports){
 "use strict";
 
 const nwsapi = require("nwsapi");
@@ -143853,7 +143915,7 @@ exports.addNwsapi = parentNode => {
   return document._nwsapi;
 };
 
-},{"../generated/utils":591,"nwsapi":923}],615:[function(require,module,exports){
+},{"../generated/utils":595,"nwsapi":927}],619:[function(require,module,exports){
 "use strict";
 
 const NODE_TYPE = require("../node-type");
@@ -144140,7 +144202,7 @@ module.exports = {
   shadowIncludingDescendantsIterator
 };
 
-},{"../node-type":641,"./internal-constants":605,"./mutation-observers":608,"./namespaces":609,"./node":610}],616:[function(require,module,exports){
+},{"../node-type":645,"./internal-constants":609,"./mutation-observers":612,"./namespaces":613,"./node":614}],620:[function(require,module,exports){
 "use strict";
 
 // https://infra.spec.whatwg.org/#ascii-whitespace
@@ -144290,7 +144352,7 @@ exports.splitOnCommas = str => {
   return tokens;
 };
 
-},{}],617:[function(require,module,exports){
+},{}],621:[function(require,module,exports){
 "use strict";
 const cssom = require("cssom");
 const defaultStyleSheet = require("../../browser/default-stylesheet");
@@ -144402,7 +144464,7 @@ exports.getResolvedValue = (element, property) => {
 
 exports.SHADOW_DOM_PSEUDO_REGEXP = /^::(?:part|slotted)\(/i;
 
-},{"../../browser/default-stylesheet":335,"./selectors":614,"cssom":188}],618:[function(require,module,exports){
+},{"../../browser/default-stylesheet":339,"./selectors":618,"cssom":192}],622:[function(require,module,exports){
 "use strict";
 const cssom = require("cssom");
 const whatwgEncoding = require("whatwg-encoding");
@@ -144517,7 +144579,7 @@ function scanForImportRules(elementImpl, cssRules, baseURL) {
   }
 }
 
-},{"cssom":188,"whatwg-encoding":1078,"whatwg-url":1113}],619:[function(require,module,exports){
+},{"cssom":192,"whatwg-encoding":1082,"whatwg-url":1117}],623:[function(require,module,exports){
 "use strict";
 
 // https://svgwg.org/svg2-draft/types.html#TermDetach
@@ -144560,7 +144622,7 @@ function reserializeCommaSeparatedTokens(elements) {
 }
 exports.reserializeCommaSeparatedTokens = reserializeCommaSeparatedTokens;
 
-},{}],620:[function(require,module,exports){
+},{}],624:[function(require,module,exports){
 "use strict";
 const { SVG_NS } = require("../namespaces");
 
@@ -144608,7 +144670,7 @@ exports.isRenderedElement = elImpl => {
   return true;
 };
 
-},{"../namespaces":609}],621:[function(require,module,exports){
+},{"../namespaces":613}],625:[function(require,module,exports){
 "use strict";
 const { domSymbolTree } = require("./internal-constants");
 const { CDATA_SECTION_NODE, TEXT_NODE } = require("../node-type");
@@ -144629,7 +144691,7 @@ exports.childTextContent = node => {
   return result;
 };
 
-},{"../node-type":641,"./internal-constants":605}],622:[function(require,module,exports){
+},{"../node-type":645,"./internal-constants":609}],626:[function(require,module,exports){
 "use strict";
 const { domSymbolTree } = require("./internal-constants");
 const { HTML_NS } = require("./namespaces");
@@ -144703,7 +144765,7 @@ exports.firstDescendantWithLocalName = (parent, localName, namespace = HTML_NS)
   return null;
 };
 
-},{"./internal-constants":605,"./namespaces":609}],623:[function(require,module,exports){
+},{"./internal-constants":609,"./namespaces":613}],627:[function(require,module,exports){
 "use strict";
 const xnv = require("xml-name-validator");
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -144780,7 +144842,7 @@ exports.validateAndExtract = function (globalObject, namespace, qualifiedName) {
   return { namespace, prefix, localName };
 };
 
-},{"../helpers/namespaces":609,"domexception/webidl2js-wrapper":243,"xml-name-validator":1117}],624:[function(require,module,exports){
+},{"../helpers/namespaces":613,"domexception/webidl2js-wrapper":247,"xml-name-validator":1121}],628:[function(require,module,exports){
 "use strict";
 
 const EventTargetImpl = require("../events/EventTarget-impl").implementation;
@@ -144807,7 +144869,7 @@ class PerformanceImpl extends EventTargetImpl {
 
 exports.implementation = PerformanceImpl;
 
-},{"../events/EventTarget-impl":370}],625:[function(require,module,exports){
+},{"../events/EventTarget-impl":374}],629:[function(require,module,exports){
 /* eslint-disable global-require */
 "use strict";
 
@@ -145026,7 +145088,7 @@ exports.getInterfaceWrapper = name => {
   return generatedInterfaces[name];
 };
 
-},{"../level2/style":347,"../level3/xpath":348,"./generated/AbortController":391,"./generated/AbortSignal":392,"./generated/AbstractRange":393,"./generated/Attr":396,"./generated/BarProp":397,"./generated/Blob":399,"./generated/CDATASection":402,"./generated/CharacterData":403,"./generated/CloseEvent":404,"./generated/Comment":406,"./generated/CompositionEvent":407,"./generated/CustomElementRegistry":410,"./generated/CustomEvent":411,"./generated/DOMImplementation":413,"./generated/DOMParser":414,"./generated/DOMStringMap":415,"./generated/DOMTokenList":416,"./generated/Document":417,"./generated/DocumentFragment":418,"./generated/DocumentType":419,"./generated/Element":420,"./generated/ErrorEvent":424,"./generated/Event":426,"./generated/EventTarget":432,"./generated/External":433,"./generated/File":434,"./generated/FileList":435,"./generated/FileReader":437,"./generated/FocusEvent":438,"./generated/FormData":440,"./generated/HTMLAnchorElement.js":443,"./generated/HTMLAreaElement.js":444,"./generated/HTMLAudioElement.js":445,"./generated/HTMLBRElement.js":446,"./generated/HTMLBaseElement.js":447,"./generated/HTMLBodyElement.js":448,"./generated/HTMLButtonElement.js":449,"./generated/HTMLCanvasElement.js":450,"./generated/HTMLCollection":451,"./generated/HTMLDListElement.js":452,"./generated/HTMLDataElement.js":453,"./generated/HTMLDataListElement.js":454,"./generated/HTMLDetailsElement.js":455,"./generated/HTMLDialogElement.js":456,"./generated/HTMLDirectoryElement.js":457,"./generated/HTMLDivElement.js":458,"./generated/HTMLElement.js":459,"./generated/HTMLEmbedElement.js":460,"./generated/HTMLFieldSetElement.js":461,"./generated/HTMLFontElement.js":462,"./generated/HTMLFormElement.js":463,"./generated/HTMLFrameElement.js":464,"./generated/HTMLFrameSetElement.js":465,"./generated/HTMLHRElement.js":466,"./generated/HTMLHeadElement.js":467,"./generated/HTMLHeadingElement.js":468,"./generated/HTMLHtmlElement.js":469,"./generated/HTMLIFrameElement.js":470,"./generated/HTMLImageElement.js":471,"./generated/HTMLInputElement.js":472,"./generated/HTMLLIElement.js":473,"./generated/HTMLLabelElement.js":474,"./generated/HTMLLegendElement.js":475,"./generated/HTMLLinkElement.js":476,"./generated/HTMLMapElement.js":477,"./generated/HTMLMarqueeElement.js":478,"./generated/HTMLMediaElement.js":479,"./generated/HTMLMenuElement.js":480,"./generated/HTMLMetaElement.js":481,"./generated/HTMLMeterElement.js":482,"./generated/HTMLModElement.js":483,"./generated/HTMLOListElement.js":484,"./generated/HTMLObjectElement.js":485,"./generated/HTMLOptGroupElement.js":486,"./generated/HTMLOptionElement.js":487,"./generated/HTMLOptionsCollection":488,"./generated/HTMLOutputElement.js":489,"./generated/HTMLParagraphElement.js":490,"./generated/HTMLParamElement.js":491,"./generated/HTMLPictureElement.js":492,"./generated/HTMLPreElement.js":493,"./generated/HTMLProgressElement.js":494,"./generated/HTMLQuoteElement.js":495,"./generated/HTMLScriptElement.js":496,"./generated/HTMLSelectElement.js":497,"./generated/HTMLSlotElement.js":498,"./generated/HTMLSourceElement.js":499,"./generated/HTMLSpanElement.js":500,"./generated/HTMLStyleElement.js":501,"./generated/HTMLTableCaptionElement.js":502,"./generated/HTMLTableCellElement.js":503,"./generated/HTMLTableColElement.js":504,"./generated/HTMLTableElement.js":505,"./generated/HTMLTableRowElement.js":506,"./generated/HTMLTableSectionElement.js":507,"./generated/HTMLTemplateElement.js":508,"./generated/HTMLTextAreaElement.js":509,"./generated/HTMLTimeElement.js":510,"./generated/HTMLTitleElement.js":511,"./generated/HTMLTrackElement.js":512,"./generated/HTMLUListElement.js":513,"./generated/HTMLUnknownElement.js":514,"./generated/HTMLVideoElement.js":515,"./generated/HashChangeEvent":516,"./generated/Headers":518,"./generated/History":519,"./generated/InputEvent":520,"./generated/KeyboardEvent":522,"./generated/Location":524,"./generated/MessageEvent":525,"./generated/MimeType":527,"./generated/MimeTypeArray":528,"./generated/MouseEvent":529,"./generated/MutationObserver":532,"./generated/MutationRecord":534,"./generated/NamedNodeMap":535,"./generated/Navigator":536,"./generated/Node":537,"./generated/NodeFilter":538,"./generated/NodeIterator":539,"./generated/NodeList":540,"./generated/PageTransitionEvent":543,"./generated/Performance":545,"./generated/Plugin":546,"./generated/PluginArray":547,"./generated/PopStateEvent":548,"./generated/ProcessingInstruction":550,"./generated/ProgressEvent":551,"./generated/Range":553,"./generated/SVGAnimatedString":554,"./generated/SVGElement.js":555,"./generated/SVGGraphicsElement.js":556,"./generated/SVGNumber":557,"./generated/SVGSVGElement.js":558,"./generated/SVGStringList":559,"./generated/SVGTitleElement.js":560,"./generated/Screen":561,"./generated/Selection":562,"./generated/ShadowRoot":564,"./generated/StaticRange":567,"./generated/Storage":569,"./generated/StorageEvent":570,"./generated/StyleSheetList.js":572,"./generated/Text":574,"./generated/TouchEvent":576,"./generated/TreeWalker":578,"./generated/UIEvent":579,"./generated/ValidityState":581,"./generated/WebSocket":582,"./generated/WheelEvent":583,"./generated/XMLDocument":585,"./generated/XMLHttpRequest":586,"./generated/XMLHttpRequestEventTarget":587,"./generated/XMLHttpRequestUpload":589,"./generated/XMLSerializer":590,"domexception/webidl2js-wrapper":243,"whatwg-url/webidl2js-wrapper":1114}],626:[function(require,module,exports){
+},{"../level2/style":351,"../level3/xpath":352,"./generated/AbortController":395,"./generated/AbortSignal":396,"./generated/AbstractRange":397,"./generated/Attr":400,"./generated/BarProp":401,"./generated/Blob":403,"./generated/CDATASection":406,"./generated/CharacterData":407,"./generated/CloseEvent":408,"./generated/Comment":410,"./generated/CompositionEvent":411,"./generated/CustomElementRegistry":414,"./generated/CustomEvent":415,"./generated/DOMImplementation":417,"./generated/DOMParser":418,"./generated/DOMStringMap":419,"./generated/DOMTokenList":420,"./generated/Document":421,"./generated/DocumentFragment":422,"./generated/DocumentType":423,"./generated/Element":424,"./generated/ErrorEvent":428,"./generated/Event":430,"./generated/EventTarget":436,"./generated/External":437,"./generated/File":438,"./generated/FileList":439,"./generated/FileReader":441,"./generated/FocusEvent":442,"./generated/FormData":444,"./generated/HTMLAnchorElement.js":447,"./generated/HTMLAreaElement.js":448,"./generated/HTMLAudioElement.js":449,"./generated/HTMLBRElement.js":450,"./generated/HTMLBaseElement.js":451,"./generated/HTMLBodyElement.js":452,"./generated/HTMLButtonElement.js":453,"./generated/HTMLCanvasElement.js":454,"./generated/HTMLCollection":455,"./generated/HTMLDListElement.js":456,"./generated/HTMLDataElement.js":457,"./generated/HTMLDataListElement.js":458,"./generated/HTMLDetailsElement.js":459,"./generated/HTMLDialogElement.js":460,"./generated/HTMLDirectoryElement.js":461,"./generated/HTMLDivElement.js":462,"./generated/HTMLElement.js":463,"./generated/HTMLEmbedElement.js":464,"./generated/HTMLFieldSetElement.js":465,"./generated/HTMLFontElement.js":466,"./generated/HTMLFormElement.js":467,"./generated/HTMLFrameElement.js":468,"./generated/HTMLFrameSetElement.js":469,"./generated/HTMLHRElement.js":470,"./generated/HTMLHeadElement.js":471,"./generated/HTMLHeadingElement.js":472,"./generated/HTMLHtmlElement.js":473,"./generated/HTMLIFrameElement.js":474,"./generated/HTMLImageElement.js":475,"./generated/HTMLInputElement.js":476,"./generated/HTMLLIElement.js":477,"./generated/HTMLLabelElement.js":478,"./generated/HTMLLegendElement.js":479,"./generated/HTMLLinkElement.js":480,"./generated/HTMLMapElement.js":481,"./generated/HTMLMarqueeElement.js":482,"./generated/HTMLMediaElement.js":483,"./generated/HTMLMenuElement.js":484,"./generated/HTMLMetaElement.js":485,"./generated/HTMLMeterElement.js":486,"./generated/HTMLModElement.js":487,"./generated/HTMLOListElement.js":488,"./generated/HTMLObjectElement.js":489,"./generated/HTMLOptGroupElement.js":490,"./generated/HTMLOptionElement.js":491,"./generated/HTMLOptionsCollection":492,"./generated/HTMLOutputElement.js":493,"./generated/HTMLParagraphElement.js":494,"./generated/HTMLParamElement.js":495,"./generated/HTMLPictureElement.js":496,"./generated/HTMLPreElement.js":497,"./generated/HTMLProgressElement.js":498,"./generated/HTMLQuoteElement.js":499,"./generated/HTMLScriptElement.js":500,"./generated/HTMLSelectElement.js":501,"./generated/HTMLSlotElement.js":502,"./generated/HTMLSourceElement.js":503,"./generated/HTMLSpanElement.js":504,"./generated/HTMLStyleElement.js":505,"./generated/HTMLTableCaptionElement.js":506,"./generated/HTMLTableCellElement.js":507,"./generated/HTMLTableColElement.js":508,"./generated/HTMLTableElement.js":509,"./generated/HTMLTableRowElement.js":510,"./generated/HTMLTableSectionElement.js":511,"./generated/HTMLTemplateElement.js":512,"./generated/HTMLTextAreaElement.js":513,"./generated/HTMLTimeElement.js":514,"./generated/HTMLTitleElement.js":515,"./generated/HTMLTrackElement.js":516,"./generated/HTMLUListElement.js":517,"./generated/HTMLUnknownElement.js":518,"./generated/HTMLVideoElement.js":519,"./generated/HashChangeEvent":520,"./generated/Headers":522,"./generated/History":523,"./generated/InputEvent":524,"./generated/KeyboardEvent":526,"./generated/Location":528,"./generated/MessageEvent":529,"./generated/MimeType":531,"./generated/MimeTypeArray":532,"./generated/MouseEvent":533,"./generated/MutationObserver":536,"./generated/MutationRecord":538,"./generated/NamedNodeMap":539,"./generated/Navigator":540,"./generated/Node":541,"./generated/NodeFilter":542,"./generated/NodeIterator":543,"./generated/NodeList":544,"./generated/PageTransitionEvent":547,"./generated/Performance":549,"./generated/Plugin":550,"./generated/PluginArray":551,"./generated/PopStateEvent":552,"./generated/ProcessingInstruction":554,"./generated/ProgressEvent":555,"./generated/Range":557,"./generated/SVGAnimatedString":558,"./generated/SVGElement.js":559,"./generated/SVGGraphicsElement.js":560,"./generated/SVGNumber":561,"./generated/SVGSVGElement.js":562,"./generated/SVGStringList":563,"./generated/SVGTitleElement.js":564,"./generated/Screen":565,"./generated/Selection":566,"./generated/ShadowRoot":568,"./generated/StaticRange":571,"./generated/Storage":573,"./generated/StorageEvent":574,"./generated/StyleSheetList.js":576,"./generated/Text":578,"./generated/TouchEvent":580,"./generated/TreeWalker":582,"./generated/UIEvent":583,"./generated/ValidityState":585,"./generated/WebSocket":586,"./generated/WheelEvent":587,"./generated/XMLDocument":589,"./generated/XMLHttpRequest":590,"./generated/XMLHttpRequestEventTarget":591,"./generated/XMLHttpRequestUpload":593,"./generated/XMLSerializer":594,"domexception/webidl2js-wrapper":247,"whatwg-url/webidl2js-wrapper":1118}],630:[function(require,module,exports){
 "use strict";
 
 const { wrapperForImpl } = require("../generated/utils");
@@ -145123,7 +145185,7 @@ module.exports = {
   implementation: MutationObserverImpl
 };
 
-},{"../generated/utils":591}],627:[function(require,module,exports){
+},{"../generated/utils":595}],631:[function(require,module,exports){
 "use strict";
 
 const NodeList = require("../generated/NodeList");
@@ -145162,7 +145224,7 @@ module.exports = {
   implementation: MutationRecordImpl
 };
 
-},{"../generated/NodeList":540}],628:[function(require,module,exports){
+},{"../generated/NodeList":544}],632:[function(require,module,exports){
 "use strict";
 const hasOwnProp = Object.prototype.hasOwnProperty;
 const namedPropertiesTracker = require("../named-properties-tracker");
@@ -145305,12 +145367,12 @@ exports.nodeDetachedFromDocument = function (node) {
   }
 };
 
-},{"../named-properties-tracker":775,"../utils":776,"./generated/HTMLCollection":451,"./generated/utils":591,"./node-type":641}],629:[function(require,module,exports){
+},{"../named-properties-tracker":779,"../utils":780,"./generated/HTMLCollection":455,"./generated/utils":595,"./node-type":645}],633:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class MimeType {};
 
-},{}],630:[function(require,module,exports){
+},{}],634:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -145333,7 +145395,7 @@ exports.implementation = class MimeTypeArray {
   }
 };
 
-},{"../generated/utils":591}],631:[function(require,module,exports){
+},{"../generated/utils":595}],635:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const PluginArray = require("../generated/PluginArray");
@@ -145364,7 +145426,7 @@ mixin(NavigatorImpl.prototype, NavigatorConcurrentHardwareImpl.prototype);
 
 exports.implementation = NavigatorImpl;
 
-},{"../../utils":776,"../generated/MimeTypeArray":528,"../generated/PluginArray":547,"./NavigatorConcurrentHardware-impl":632,"./NavigatorCookies-impl":633,"./NavigatorID-impl":634,"./NavigatorLanguage-impl":635,"./NavigatorOnLine-impl":636,"./NavigatorPlugins-impl":637}],632:[function(require,module,exports){
+},{"../../utils":780,"../generated/MimeTypeArray":532,"../generated/PluginArray":551,"./NavigatorConcurrentHardware-impl":636,"./NavigatorCookies-impl":637,"./NavigatorID-impl":638,"./NavigatorLanguage-impl":639,"./NavigatorOnLine-impl":640,"./NavigatorPlugins-impl":641}],636:[function(require,module,exports){
 "use strict";
 const os = require("os");
 
@@ -145374,7 +145436,7 @@ exports.implementation = class NavigatorConcurrentHardwareImpl {
   }
 };
 
-},{"os":925}],633:[function(require,module,exports){
+},{"os":929}],637:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class NavigatorCookiesImpl {
@@ -145383,7 +145445,7 @@ exports.implementation = class NavigatorCookiesImpl {
   }
 };
 
-},{}],634:[function(require,module,exports){
+},{}],638:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class NavigatorIDImpl {
@@ -145422,7 +145484,7 @@ exports.implementation = class NavigatorIDImpl {
   }
 };
 
-},{}],635:[function(require,module,exports){
+},{}],639:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class NavigatorLanguageImpl {
@@ -145433,7 +145495,7 @@ exports.implementation = class NavigatorLanguageImpl {
   // See Navigator constructor for languages
 };
 
-},{}],636:[function(require,module,exports){
+},{}],640:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class NavigatorOnLineImpl {
@@ -145442,7 +145504,7 @@ exports.implementation = class NavigatorOnLineImpl {
   }
 };
 
-},{}],637:[function(require,module,exports){
+},{}],641:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class NavigatorPluginsImpl {
@@ -145452,12 +145514,12 @@ exports.implementation = class NavigatorPluginsImpl {
   }
 };
 
-},{}],638:[function(require,module,exports){
+},{}],642:[function(require,module,exports){
 "use strict";
 
 exports.implementation = class Plugin {};
 
-},{}],639:[function(require,module,exports){
+},{}],643:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -145482,7 +145544,7 @@ exports.implementation = class PluginArray {
   }
 };
 
-},{"../generated/utils":591}],640:[function(require,module,exports){
+},{"../generated/utils":595}],644:[function(require,module,exports){
 "use strict";
 
 module.exports = Object.freeze({
@@ -145494,7 +145556,7 @@ module.exports = Object.freeze({
   DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32
 });
 
-},{}],641:[function(require,module,exports){
+},{}],645:[function(require,module,exports){
 "use strict";
 
 module.exports = Object.freeze({
@@ -145512,7 +145574,7 @@ module.exports = Object.freeze({
   NOTATION_NODE: 12 // historical
 });
 
-},{}],642:[function(require,module,exports){
+},{}],646:[function(require,module,exports){
 "use strict";
 const { appendAttribute } = require("./attributes");
 const NODE_TYPE = require("./node-type");
@@ -145845,7 +145907,7 @@ exports.locateNamespace = (node, prefix) => {
   }
 };
 
-},{"./attributes":351,"./generated/HTMLCollection":451,"./helpers/create-element":594,"./helpers/internal-constants":605,"./helpers/namespaces":609,"./helpers/ordered-set":612,"./helpers/strings":616,"./node-type":641}],643:[function(require,module,exports){
+},{"./attributes":355,"./generated/HTMLCollection":455,"./helpers/create-element":598,"./helpers/internal-constants":609,"./helpers/namespaces":613,"./helpers/ordered-set":616,"./helpers/strings":620,"./node-type":645}],647:[function(require,module,exports){
 "use strict";
 
 const TextImpl = require("./Text-impl").implementation;
@@ -145863,7 +145925,7 @@ module.exports = {
   implementation: CDATASectionImpl
 };
 
-},{"../node-type":641,"./Text-impl":745}],644:[function(require,module,exports){
+},{"../node-type":645,"./Text-impl":749}],648:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -145983,7 +146045,7 @@ module.exports = {
   implementation: CharacterDataImpl
 };
 
-},{"../../utils":776,"../helpers/mutation-observers":608,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732,"./NonDocumentTypeChildNode-impl":734,"domexception/webidl2js-wrapper":243}],645:[function(require,module,exports){
+},{"../../utils":780,"../helpers/mutation-observers":612,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736,"./NonDocumentTypeChildNode-impl":738,"domexception/webidl2js-wrapper":247}],649:[function(require,module,exports){
 "use strict";
 
 const { convertNodesIntoNode } = require("../node");
@@ -146065,7 +146127,7 @@ module.exports = {
   implementation: ChildNodeImpl
 };
 
-},{"../node":642}],646:[function(require,module,exports){
+},{"../node":646}],650:[function(require,module,exports){
 "use strict";
 const CharacterDataImpl = require("./CharacterData-impl").implementation;
 const idlUtils = require("../generated/utils");
@@ -146087,7 +146149,7 @@ module.exports = {
   implementation: CommentImpl
 };
 
-},{"../generated/utils":591,"../node-type":641,"./CharacterData-impl":644}],647:[function(require,module,exports){
+},{"../generated/utils":595,"../node-type":645,"./CharacterData-impl":648}],651:[function(require,module,exports){
 "use strict";
 
 const validateNames = require("../helpers/validate-names");
@@ -146209,7 +146271,7 @@ module.exports = {
   implementation: DOMImplementationImpl
 };
 
-},{"../documents.js":358,"../generated/DocumentType":419,"../helpers/create-element":594,"../helpers/namespaces":609,"../helpers/validate-names":623}],648:[function(require,module,exports){
+},{"../documents.js":362,"../generated/DocumentType":423,"../helpers/create-element":598,"../helpers/namespaces":613,"../helpers/validate-names":627}],652:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -146275,7 +146337,7 @@ exports.implementation = class DOMStringMapImpl {
   }
 };
 
-},{"../attributes":351,"../generated/utils.js":591,"../helpers/validate-names":623,"domexception/webidl2js-wrapper":243}],649:[function(require,module,exports){
+},{"../attributes":355,"../generated/utils.js":595,"../helpers/validate-names":627,"domexception/webidl2js-wrapper":247}],653:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -146448,7 +146510,7 @@ class DOMTokenListImpl {
 
 exports.implementation = DOMTokenListImpl;
 
-},{"../attributes.js":351,"../generated/utils.js":591,"../helpers/ordered-set.js":612,"../helpers/strings.js":616,"domexception/webidl2js-wrapper":243}],650:[function(require,module,exports){
+},{"../attributes.js":355,"../generated/utils.js":595,"../helpers/ordered-set.js":616,"../helpers/strings.js":620,"domexception/webidl2js-wrapper":247}],654:[function(require,module,exports){
 "use strict";
 
 const { CookieJar } = require("tough-cookie");
@@ -147396,7 +147458,7 @@ module.exports = {
   implementation: DocumentImpl
 };
 
-},{"../../browser/parser":339,"../../browser/resources/async-resource-queue":341,"../../browser/resources/per-document-resource-loader":343,"../../browser/resources/request-manager":344,"../../browser/resources/resource-queue":346,"../../utils":776,"../documents.js":358,"../generated/Attr":396,"../generated/CDATASection":402,"../generated/Comment":406,"../generated/CustomEvent":411,"../generated/DOMImplementation":413,"../generated/DocumentFragment":418,"../generated/ErrorEvent":424,"../generated/Event":426,"../generated/FocusEvent":438,"../generated/HTMLCollection":451,"../generated/HashChangeEvent":516,"../generated/History":519,"../generated/KeyboardEvent":522,"../generated/Location":524,"../generated/MessageEvent":525,"../generated/MouseEvent":529,"../generated/NodeIterator":539,"../generated/NodeList":540,"../generated/PopStateEvent":548,"../generated/ProcessingInstruction":550,"../generated/ProgressEvent":551,"../generated/Range":553,"../generated/ShadowRoot":564,"../generated/StyleSheetList.js":572,"../generated/Text":574,"../generated/TouchEvent":576,"../generated/TreeWalker":578,"../generated/UIEvent":579,"../generated/utils":591,"../helpers/create-element":594,"../helpers/create-event-accessor":595,"../helpers/custom-elements":596,"../helpers/events":600,"../helpers/internal-constants":605,"../helpers/iterable-weak-set":606,"../helpers/namespaces":609,"../helpers/shadow-dom":615,"../helpers/strings":616,"../helpers/text":621,"../helpers/traversal":622,"../helpers/validate-names":623,"../node":642,"../node-type":641,"./DocumentOrShadowRoot-impl":652,"./GlobalEventHandlers-impl":656,"./Node-impl":732,"./NonElementParentNode-impl":735,"./ParentNode-impl":736,"domexception/webidl2js-wrapper":243,"tough-cookie":1044,"whatwg-url":1113}],651:[function(require,module,exports){
+},{"../../browser/parser":343,"../../browser/resources/async-resource-queue":345,"../../browser/resources/per-document-resource-loader":347,"../../browser/resources/request-manager":348,"../../browser/resources/resource-queue":350,"../../utils":780,"../documents.js":362,"../generated/Attr":400,"../generated/CDATASection":406,"../generated/Comment":410,"../generated/CustomEvent":415,"../generated/DOMImplementation":417,"../generated/DocumentFragment":422,"../generated/ErrorEvent":428,"../generated/Event":430,"../generated/FocusEvent":442,"../generated/HTMLCollection":455,"../generated/HashChangeEvent":520,"../generated/History":523,"../generated/KeyboardEvent":526,"../generated/Location":528,"../generated/MessageEvent":529,"../generated/MouseEvent":533,"../generated/NodeIterator":543,"../generated/NodeList":544,"../generated/PopStateEvent":552,"../generated/ProcessingInstruction":554,"../generated/ProgressEvent":555,"../generated/Range":557,"../generated/ShadowRoot":568,"../generated/StyleSheetList.js":576,"../generated/Text":578,"../generated/TouchEvent":580,"../generated/TreeWalker":582,"../generated/UIEvent":583,"../generated/utils":595,"../helpers/create-element":598,"../helpers/create-event-accessor":599,"../helpers/custom-elements":600,"../helpers/events":604,"../helpers/internal-constants":609,"../helpers/iterable-weak-set":610,"../helpers/namespaces":613,"../helpers/shadow-dom":619,"../helpers/strings":620,"../helpers/text":625,"../helpers/traversal":626,"../helpers/validate-names":627,"../node":646,"../node-type":645,"./DocumentOrShadowRoot-impl":656,"./GlobalEventHandlers-impl":660,"./Node-impl":736,"./NonElementParentNode-impl":739,"./ParentNode-impl":740,"domexception/webidl2js-wrapper":247,"tough-cookie":1048,"whatwg-url":1117}],655:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -147442,7 +147504,7 @@ module.exports = {
   implementation: DocumentFragmentImpl
 };
 
-},{"../../utils":776,"../generated/utils":591,"../helpers/internal-constants":605,"../node-type":641,"./Node-impl":732,"./NonElementParentNode-impl":735,"./ParentNode-impl":736}],652:[function(require,module,exports){
+},{"../../utils":780,"../generated/utils":595,"../helpers/internal-constants":609,"../node-type":645,"./Node-impl":736,"./NonElementParentNode-impl":739,"./ParentNode-impl":740}],656:[function(require,module,exports){
 "use strict";
 const NODE_TYPE = require("../node-type");
 const { nodeRoot } = require("../helpers/node");
@@ -147472,7 +147534,7 @@ module.exports = {
   implementation: DocumentOrShadowRootImpl
 };
 
-},{"../helpers/node":610,"../helpers/shadow-dom":615,"../node-type":641}],653:[function(require,module,exports){
+},{"../helpers/node":614,"../helpers/shadow-dom":619,"../node-type":645}],657:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const NodeImpl = require("./Node-impl").implementation;
@@ -147498,7 +147560,7 @@ module.exports = {
   implementation: DocumentTypeImpl
 };
 
-},{"../../utils":776,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732}],654:[function(require,module,exports){
+},{"../../utils":780,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736}],658:[function(require,module,exports){
 "use strict";
 const { addNwsapi } = require("../helpers/selectors");
 const { HTML_NS } = require("../helpers/namespaces");
@@ -148076,7 +148138,7 @@ module.exports = {
   implementation: ElementImpl
 };
 
-},{"../../browser/parser":339,"../../utils":776,"../attributes":351,"../domparsing/InnerHTML-impl":360,"../domparsing/serialization":363,"../generated/DOMTokenList":416,"../generated/NamedNodeMap":535,"../generated/ShadowRoot":564,"../generated/Text":574,"../generated/utils":591,"../helpers/custom-elements":596,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/selectors":614,"../helpers/shadow-dom":615,"../helpers/strings":616,"../helpers/validate-names":623,"../named-properties-window":628,"../node":642,"../node-type":641,"./ChildNode-impl":645,"./Node-impl":732,"./NonDocumentTypeChildNode-impl":734,"./ParentNode-impl":736,"./Slotable-impl":744,"domexception/webidl2js-wrapper":243}],655:[function(require,module,exports){
+},{"../../browser/parser":343,"../../utils":780,"../attributes":355,"../domparsing/InnerHTML-impl":364,"../domparsing/serialization":367,"../generated/DOMTokenList":420,"../generated/NamedNodeMap":539,"../generated/ShadowRoot":568,"../generated/Text":578,"../generated/utils":595,"../helpers/custom-elements":600,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/selectors":618,"../helpers/shadow-dom":619,"../helpers/strings":620,"../helpers/validate-names":627,"../named-properties-window":632,"../node":646,"../node-type":645,"./ChildNode-impl":649,"./Node-impl":736,"./NonDocumentTypeChildNode-impl":738,"./ParentNode-impl":740,"./Slotable-impl":748,"domexception/webidl2js-wrapper":247}],659:[function(require,module,exports){
 "use strict";
 const cssstyle = require("cssstyle");
 
@@ -148103,7 +148165,7 @@ module.exports = {
   implementation: ElementCSSInlineStyle
 };
 
-},{"cssstyle":190}],656:[function(require,module,exports){
+},{"cssstyle":194}],660:[function(require,module,exports){
 "use strict";
 
 const { appendHandler, createEventAccessor } = require("../helpers/create-event-accessor");
@@ -148200,7 +148262,7 @@ module.exports = {
   implementation: GlobalEventHandlersImpl
 };
 
-},{"../helpers/create-event-accessor":595}],657:[function(require,module,exports){
+},{"../helpers/create-event-accessor":599}],661:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const DOMTokenList = require("../generated/DOMTokenList");
@@ -148252,7 +148314,7 @@ module.exports = {
   implementation: HTMLAnchorElementImpl
 };
 
-},{"../../utils":776,"../generated/DOMTokenList":416,"./HTMLElement-impl":673,"./HTMLHyperlinkElementUtils-impl":684}],658:[function(require,module,exports){
+},{"../../utils":780,"../generated/DOMTokenList":420,"./HTMLElement-impl":677,"./HTMLHyperlinkElementUtils-impl":688}],662:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const DOMTokenList = require("../generated/DOMTokenList");
@@ -148297,7 +148359,7 @@ module.exports = {
   implementation: HTMLAreaElementImpl
 };
 
-},{"../../utils":776,"../generated/DOMTokenList":416,"./HTMLElement-impl":673,"./HTMLHyperlinkElementUtils-impl":684}],659:[function(require,module,exports){
+},{"../../utils":780,"../generated/DOMTokenList":420,"./HTMLElement-impl":677,"./HTMLHyperlinkElementUtils-impl":688}],663:[function(require,module,exports){
 "use strict";
 
 const HTMLMediaElementImpl = require("./HTMLMediaElement-impl").implementation;
@@ -148308,7 +148370,7 @@ module.exports = {
   implementation: HTMLAudioElementImpl
 };
 
-},{"./HTMLMediaElement-impl":694}],660:[function(require,module,exports){
+},{"./HTMLMediaElement-impl":698}],664:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148319,7 +148381,7 @@ module.exports = {
   implementation: HTMLBRElementImpl
 };
 
-},{"./HTMLElement-impl":673}],661:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],665:[function(require,module,exports){
 "use strict";
 const whatwgURL = require("whatwg-url");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148348,7 +148410,7 @@ module.exports = {
   implementation: HTMLBaseElementImpl
 };
 
-},{"../helpers/document-base-url":599,"./HTMLElement-impl":673,"whatwg-url":1113}],662:[function(require,module,exports){
+},{"../helpers/document-base-url":603,"./HTMLElement-impl":677,"whatwg-url":1117}],666:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148367,7 +148429,7 @@ module.exports = {
   implementation: HTMLBodyElementImpl
 };
 
-},{"../../utils":776,"./HTMLElement-impl":673,"./WindowEventHandlers-impl":746}],663:[function(require,module,exports){
+},{"../../utils":780,"./HTMLElement-impl":677,"./WindowEventHandlers-impl":750}],667:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 const DefaultConstraintValidationImpl =
@@ -148448,7 +148510,7 @@ module.exports = {
   implementation: HTMLButtonElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],664:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],668:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 const notImplemented = require("../../browser/not-implemented");
@@ -148580,7 +148642,7 @@ module.exports = {
   implementation: HTMLCanvasElementImpl
 };
 
-},{"../../browser/not-implemented":337,"../../utils":776,"../generated/utils":591,"./HTMLElement-impl":673}],665:[function(require,module,exports){
+},{"../../browser/not-implemented":341,"../../utils":780,"../generated/utils":595,"./HTMLElement-impl":677}],669:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -148678,7 +148740,7 @@ exports.implementation = class HTMLCollectionImpl {
   }
 };
 
-},{"../generated/utils.js":591,"../helpers/namespaces":609}],666:[function(require,module,exports){
+},{"../generated/utils.js":595,"../helpers/namespaces":613}],670:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148689,7 +148751,7 @@ module.exports = {
   implementation: HTMLDListElementImpl
 };
 
-},{"./HTMLElement-impl":673}],667:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],671:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148700,7 +148762,7 @@ module.exports = {
   implementation: HTMLDataElementImpl
 };
 
-},{"./HTMLElement-impl":673}],668:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],672:[function(require,module,exports){
 "use strict";
 
 const HTMLCollection = require("../generated/HTMLCollection");
@@ -148722,7 +148784,7 @@ module.exports = {
   implementation: HTMLDataListElementImpl
 };
 
-},{"../generated/HTMLCollection":451,"../helpers/traversal":622,"./HTMLElement-impl":673}],669:[function(require,module,exports){
+},{"../generated/HTMLCollection":455,"../helpers/traversal":626,"./HTMLElement-impl":677}],673:[function(require,module,exports){
 "use strict";
 
 const { fireAnEvent } = require("../helpers/events");
@@ -148759,7 +148821,7 @@ module.exports = {
   implementation: HTMLDetailsElementImpl
 };
 
-},{"../helpers/events":600,"./HTMLElement-impl":673}],670:[function(require,module,exports){
+},{"../helpers/events":604,"./HTMLElement-impl":677}],674:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148770,7 +148832,7 @@ module.exports = {
   implementation: HTMLDialogElementImpl
 };
 
-},{"./HTMLElement-impl":673}],671:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],675:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148781,7 +148843,7 @@ module.exports = {
   implementation: HTMLDirectoryElementImpl
 };
 
-},{"./HTMLElement-impl":673}],672:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],676:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -148792,7 +148854,7 @@ module.exports = {
   implementation: HTMLDivElementImpl
 };
 
-},{"./HTMLElement-impl":673}],673:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],677:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const ElementImpl = require("./Element-impl").implementation;
@@ -148954,7 +149016,7 @@ module.exports = {
   implementation: HTMLElementImpl
 };
 
-},{"../../utils":776,"../generated/MouseEvent":529,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/strings":616,"../helpers/traversal":622,"./Element-impl":654,"./ElementCSSInlineStyle-impl":655,"./GlobalEventHandlers-impl":656,"./HTMLOrSVGElement-impl":704}],674:[function(require,module,exports){
+},{"../../utils":780,"../generated/MouseEvent":533,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/strings":620,"../helpers/traversal":626,"./Element-impl":658,"./ElementCSSInlineStyle-impl":659,"./GlobalEventHandlers-impl":660,"./HTMLOrSVGElement-impl":708}],678:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 
@@ -148964,7 +149026,7 @@ module.exports = {
   implementation: HTMLEmbedElementImpl
 };
 
-},{"./HTMLElement-impl":673}],675:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],679:[function(require,module,exports){
 "use strict";
 const HTMLCollection = require("../generated/HTMLCollection");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149009,7 +149071,7 @@ module.exports = {
   implementation: HTMLFieldSetElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/HTMLCollection":451,"../helpers/form-controls":602,"../helpers/traversal":622,"./HTMLElement-impl":673}],676:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/HTMLCollection":455,"../helpers/form-controls":606,"../helpers/traversal":626,"./HTMLElement-impl":677}],680:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149020,7 +149082,7 @@ module.exports = {
   implementation: HTMLFontElementImpl
 };
 
-},{"./HTMLElement-impl":673}],677:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],681:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -149248,7 +149310,7 @@ module.exports = {
   implementation: HTMLFormElementImpl
 };
 
-},{"../../browser/not-implemented":337,"../generated/HTMLCollection":451,"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],678:[function(require,module,exports){
+},{"../../browser/not-implemented":341,"../generated/HTMLCollection":455,"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],682:[function(require,module,exports){
 "use strict";
 
 const MIMEType = require("whatwg-mimetype");
@@ -149511,7 +149573,7 @@ module.exports = {
   implementation: HTMLFrameElementImpl
 };
 
-},{"../../browser/Window":334,"../../browser/parser":339,"../attributes":351,"../generated/utils":591,"../helpers/document-base-url":599,"../helpers/events":600,"../window/navigation":769,"./HTMLElement-impl":673,"html-encoding-sniffer":320,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],679:[function(require,module,exports){
+},{"../../browser/Window":338,"../../browser/parser":343,"../attributes":355,"../generated/utils":595,"../helpers/document-base-url":603,"../helpers/events":604,"../window/navigation":773,"./HTMLElement-impl":677,"html-encoding-sniffer":324,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],683:[function(require,module,exports){
 "use strict";
 const { mixin } = require("../../utils");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149530,7 +149592,7 @@ module.exports = {
   implementation: HTMLFrameSetElementImpl
 };
 
-},{"../../utils":776,"./HTMLElement-impl":673,"./WindowEventHandlers-impl":746}],680:[function(require,module,exports){
+},{"../../utils":780,"./HTMLElement-impl":677,"./WindowEventHandlers-impl":750}],684:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149541,7 +149603,7 @@ module.exports = {
   implementation: HTMLHRElementImpl
 };
 
-},{"./HTMLElement-impl":673}],681:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],685:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149552,7 +149614,7 @@ module.exports = {
   implementation: HTMLHeadElementImpl
 };
 
-},{"./HTMLElement-impl":673}],682:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],686:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149563,7 +149625,7 @@ module.exports = {
   implementation: HTMLHeadingElementImpl
 };
 
-},{"./HTMLElement-impl":673}],683:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],687:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -149574,7 +149636,7 @@ module.exports = {
   implementation: HTMLHtmlElementImpl
 };
 
-},{"./HTMLElement-impl":673}],684:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],688:[function(require,module,exports){
 "use strict";
 const whatwgURL = require("whatwg-url");
 const { parseURLToResultingURLRecord } = require("../helpers/document-base-url");
@@ -149947,7 +150009,7 @@ function updateHref(hheu) {
   hheu.setAttributeNS(null, "href", whatwgURL.serializeURL(hheu.url));
 }
 
-},{"../helpers/document-base-url":599,"../helpers/strings":616,"../window/navigation":769,"whatwg-url":1113}],685:[function(require,module,exports){
+},{"../helpers/document-base-url":603,"../helpers/strings":620,"../window/navigation":773,"whatwg-url":1117}],689:[function(require,module,exports){
 "use strict";
 
 const HTMLFrameElementImpl = require("./HTMLFrameElement-impl").implementation;
@@ -149958,7 +150020,7 @@ module.exports = {
   implementation: HTMLIFrameElementImpl
 };
 
-},{"./HTMLFrameElement-impl":678}],686:[function(require,module,exports){
+},{"./HTMLFrameElement-impl":682}],690:[function(require,module,exports){
 "use strict";
 const conversions = require("webidl-conversions");
 const { serializeURL } = require("whatwg-url");
@@ -150092,7 +150154,7 @@ module.exports = {
   implementation: HTMLImageElementImpl
 };
 
-},{"../../utils":776,"../helpers/document-base-url":599,"./HTMLElement-impl":673,"webidl-conversions":1075,"whatwg-url":1113}],687:[function(require,module,exports){
+},{"../../utils":780,"../helpers/document-base-url":603,"./HTMLElement-impl":677,"webidl-conversions":1079,"whatwg-url":1117}],691:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const FileList = require("../generated/FileList");
@@ -151222,7 +151284,7 @@ module.exports = {
   implementation: HTMLInputElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/FileList":435,"../generated/ValidityState":581,"../generated/utils":591,"../helpers/dates-and-times":597,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/number-and-date-inputs":611,"../helpers/strings":616,"./HTMLElement-impl":673,"decimal.js":225,"domexception/webidl2js-wrapper":243}],688:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/FileList":439,"../generated/ValidityState":585,"../generated/utils":595,"../helpers/dates-and-times":601,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/number-and-date-inputs":615,"../helpers/strings":620,"./HTMLElement-impl":677,"decimal.js":229,"domexception/webidl2js-wrapper":247}],692:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151233,7 +151295,7 @@ module.exports = {
   implementation: HTMLLIElementImpl
 };
 
-},{"./HTMLElement-impl":673}],689:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],693:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151329,7 +151391,7 @@ module.exports = {
   implementation: HTMLLabelElementImpl
 };
 
-},{"../generated/MouseEvent":529,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/node":610,"../node-type":641,"./HTMLElement-impl":673}],690:[function(require,module,exports){
+},{"../generated/MouseEvent":533,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/node":614,"../node-type":645,"./HTMLElement-impl":677}],694:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 const { formOwner } = require("../helpers/form-controls");
@@ -151349,7 +151411,7 @@ module.exports = {
   implementation: HTMLLegendElementImpl
 };
 
-},{"../helpers/form-controls":602,"../helpers/namespaces":609,"./HTMLElement-impl":673}],691:[function(require,module,exports){
+},{"../helpers/form-controls":606,"../helpers/namespaces":613,"./HTMLElement-impl":677}],695:[function(require,module,exports){
 "use strict";
 const DOMTokenList = require("../generated/DOMTokenList");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151452,7 +151514,7 @@ function isExternalResourceLink(el) {
   return el.hasAttributeNS(null, "href");
 }
 
-},{"../generated/DOMTokenList":416,"../generated/utils":591,"../helpers/document-base-url":599,"../helpers/stylesheets":618,"./HTMLElement-impl":673,"whatwg-url":1113}],692:[function(require,module,exports){
+},{"../generated/DOMTokenList":420,"../generated/utils":595,"../helpers/document-base-url":603,"../helpers/stylesheets":622,"./HTMLElement-impl":677,"whatwg-url":1117}],696:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151467,7 +151529,7 @@ module.exports = {
   implementation: HTMLMapElementImpl
 };
 
-},{"./HTMLElement-impl":673}],693:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],697:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151478,7 +151540,7 @@ module.exports = {
   implementation: HTMLMarqueeElementImpl
 };
 
-},{"./HTMLElement-impl":673}],694:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],698:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151618,7 +151680,7 @@ module.exports = {
   implementation: HTMLMediaElementImpl
 };
 
-},{"../../browser/not-implemented":337,"../helpers/events":600,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],695:[function(require,module,exports){
+},{"../../browser/not-implemented":341,"../helpers/events":604,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],699:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151629,7 +151691,7 @@ module.exports = {
   implementation: HTMLMenuElementImpl
 };
 
-},{"./HTMLElement-impl":673}],696:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],700:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151640,7 +151702,7 @@ module.exports = {
   implementation: HTMLMetaElementImpl
 };
 
-},{"./HTMLElement-impl":673}],697:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],701:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151822,7 +151884,7 @@ module.exports = {
   implementation: HTMLMeterElementImpl
 };
 
-},{"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],698:[function(require,module,exports){
+},{"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],702:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151833,7 +151895,7 @@ module.exports = {
   implementation: HTMLModElementImpl
 };
 
-},{"./HTMLElement-impl":673}],699:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],703:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151857,7 +151919,7 @@ module.exports = {
   implementation: HTMLOListElementImpl
 };
 
-},{"./HTMLElement-impl":673}],700:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],704:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 const DefaultConstraintValidationImpl =
@@ -151885,7 +151947,7 @@ module.exports = {
   implementation: HTMLObjectElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../helpers/form-controls":602,"./HTMLElement-impl":673}],701:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../helpers/form-controls":606,"./HTMLElement-impl":677}],705:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -151896,7 +151958,7 @@ module.exports = {
   implementation: HTMLOptGroupElementImpl
 };
 
-},{"./HTMLElement-impl":673}],702:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],706:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152044,7 +152106,7 @@ module.exports = {
   implementation: HTMLOptionElementImpl
 };
 
-},{"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/strings":616,"../helpers/traversal":622,"../node-type":641,"./HTMLElement-impl":673}],703:[function(require,module,exports){
+},{"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/strings":620,"../helpers/traversal":626,"../node-type":645,"./HTMLElement-impl":677}],707:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -152156,7 +152218,7 @@ exports.implementation = class HTMLOptionsCollectionImpl extends HTMLCollectionI
   }
 };
 
-},{"../generated/Element":420,"../generated/Node":537,"../generated/utils.js":591,"../node-document-position":640,"./HTMLCollection-impl":665,"domexception/webidl2js-wrapper":243}],704:[function(require,module,exports){
+},{"../generated/Element":424,"../generated/Node":541,"../generated/utils.js":595,"../node-document-position":644,"./HTMLCollection-impl":669,"domexception/webidl2js-wrapper":247}],708:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -152243,7 +152305,7 @@ class HTMLOrSVGElementImpl {
 
 exports.implementation = HTMLOrSVGElementImpl;
 
-},{"../generated/DOMStringMap":415,"../helpers/details":598,"../helpers/focusing":601,"../helpers/namespaces":609,"webidl-conversions":1075}],705:[function(require,module,exports){
+},{"../generated/DOMStringMap":419,"../helpers/details":602,"../helpers/focusing":605,"../helpers/namespaces":613,"webidl-conversions":1079}],709:[function(require,module,exports){
 "use strict";
 
 const DOMTokenList = require("../generated/DOMTokenList");
@@ -152333,7 +152395,7 @@ module.exports = {
   implementation: HTMLOutputElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/DOMTokenList":416,"../helpers/form-controls":602,"./HTMLElement-impl":673}],706:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/DOMTokenList":420,"../helpers/form-controls":606,"./HTMLElement-impl":677}],710:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152344,7 +152406,7 @@ module.exports = {
   implementation: HTMLParagraphElementImpl
 };
 
-},{"./HTMLElement-impl":673}],707:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],711:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152355,7 +152417,7 @@ module.exports = {
   implementation: HTMLParamElementImpl
 };
 
-},{"./HTMLElement-impl":673}],708:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],712:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152366,7 +152428,7 @@ module.exports = {
   implementation: HTMLPictureElementImpl
 };
 
-},{"./HTMLElement-impl":673}],709:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],713:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152377,7 +152439,7 @@ module.exports = {
   implementation: HTMLPreElementImpl
 };
 
-},{"./HTMLElement-impl":673}],710:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],714:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152453,7 +152515,7 @@ module.exports = {
   implementation: HTMLProgressElementImpl
 };
 
-},{"../helpers/form-controls":602,"../helpers/strings":616,"./HTMLElement-impl":673}],711:[function(require,module,exports){
+},{"../helpers/form-controls":606,"../helpers/strings":620,"./HTMLElement-impl":677}],715:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -152464,7 +152526,7 @@ module.exports = {
   implementation: HTMLQuoteElementImpl
 };
 
-},{"./HTMLElement-impl":673}],712:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],716:[function(require,module,exports){
 "use strict";
 const vm = require("vm");
 const whatwgEncoding = require("whatwg-encoding");
@@ -152731,7 +152793,7 @@ module.exports = {
   implementation: HTMLScriptElementImpl
 };
 
-},{"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/internal-constants":605,"../helpers/runtime-script-errors":613,"../helpers/strings":616,"../helpers/text":621,"../node-type":641,"./HTMLElement-impl":673,"vm":778,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],713:[function(require,module,exports){
+},{"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/internal-constants":609,"../helpers/runtime-script-errors":617,"../helpers/strings":620,"../helpers/text":625,"../node-type":645,"./HTMLElement-impl":677,"vm":782,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],717:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -153016,7 +153078,7 @@ module.exports = {
   implementation: HTMLSelectElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/HTMLCollection":451,"../generated/HTMLOptionsCollection":488,"../generated/ValidityState":581,"../generated/utils.js":591,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/strings":616,"../node-type":641,"./HTMLElement-impl":673,"webidl-conversions":1075}],714:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/HTMLCollection":455,"../generated/HTMLOptionsCollection":492,"../generated/ValidityState":585,"../generated/utils.js":595,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/strings":620,"../node-type":645,"./HTMLElement-impl":677,"webidl-conversions":1079}],718:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -153077,7 +153139,7 @@ module.exports = {
   implementation: HTMLSlotElementImpl
 };
 
-},{"../generated/HTMLElement":459,"../generated/utils":591,"../helpers/node":610,"../helpers/shadow-dom":615,"./HTMLElement-impl":673}],715:[function(require,module,exports){
+},{"../generated/HTMLElement":463,"../generated/utils":595,"../helpers/node":614,"../helpers/shadow-dom":619,"./HTMLElement-impl":677}],719:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 
@@ -153087,7 +153149,7 @@ module.exports = {
   implementation: HTMLSourceElementImpl
 };
 
-},{"./HTMLElement-impl":673}],716:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],720:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153098,7 +153160,7 @@ module.exports = {
   implementation: HTMLSpanElementImpl
 };
 
-},{"./HTMLElement-impl":673}],717:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],721:[function(require,module,exports){
 "use strict";
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
 const { removeStylesheet, createStylesheet } = require("../helpers/stylesheets");
@@ -153174,7 +153236,7 @@ module.exports = {
   implementation: HTMLStyleElementImpl
 };
 
-},{"../helpers/document-base-url":599,"../helpers/strings":616,"../helpers/stylesheets":618,"../helpers/text":621,"./HTMLElement-impl":673}],718:[function(require,module,exports){
+},{"../helpers/document-base-url":603,"../helpers/strings":620,"../helpers/stylesheets":622,"../helpers/text":625,"./HTMLElement-impl":677}],722:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153185,7 +153247,7 @@ module.exports = {
   implementation: HTMLTableCaptionElementImpl
 };
 
-},{"./HTMLElement-impl":673}],719:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],723:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153260,7 +153322,7 @@ module.exports = {
   implementation: HTMLTableCellElementImpl
 };
 
-},{"../helpers/strings":616,"../helpers/traversal":622,"./HTMLElement-impl":673}],720:[function(require,module,exports){
+},{"../helpers/strings":620,"../helpers/traversal":626,"./HTMLElement-impl":677}],724:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153271,7 +153333,7 @@ module.exports = {
   implementation: HTMLTableColElementImpl
 };
 
-},{"./HTMLElement-impl":673}],721:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],725:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153509,7 +153571,7 @@ module.exports = {
   implementation: HTMLTableElementImpl
 };
 
-},{"../generated/HTMLCollection":451,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/traversal":622,"../node-type":641,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],722:[function(require,module,exports){
+},{"../generated/HTMLCollection":455,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/traversal":626,"../node-type":645,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],726:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -153599,7 +153661,7 @@ module.exports = {
   implementation: HTMLTableRowElementImpl
 };
 
-},{"../generated/HTMLCollection":451,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/traversal":622,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],723:[function(require,module,exports){
+},{"../generated/HTMLCollection":455,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/traversal":626,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],727:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153662,7 +153724,7 @@ module.exports = {
   implementation: HTMLTableSectionElementImpl
 };
 
-},{"../generated/HTMLCollection":451,"../helpers/traversal":622,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],724:[function(require,module,exports){
+},{"../generated/HTMLCollection":455,"../helpers/traversal":626,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],728:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153731,7 +153793,7 @@ module.exports = {
   implementation: HTMLTemplateElementImpl
 };
 
-},{"../generated/Document":417,"../generated/DocumentFragment":418,"../helpers/internal-constants":605,"../node":642,"./HTMLElement-impl":673}],725:[function(require,module,exports){
+},{"../generated/Document":421,"../generated/DocumentFragment":422,"../helpers/internal-constants":609,"../node":646,"./HTMLElement-impl":677}],729:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153977,7 +154039,7 @@ module.exports = {
   implementation: HTMLTextAreaElementImpl
 };
 
-},{"../../utils":776,"../constraint-validation/DefaultConstraintValidation-impl":354,"../generated/ValidityState":581,"../helpers/events":600,"../helpers/form-controls":602,"../helpers/internal-constants":605,"../helpers/text":621,"./HTMLElement-impl":673,"domexception/webidl2js-wrapper":243}],726:[function(require,module,exports){
+},{"../../utils":780,"../constraint-validation/DefaultConstraintValidation-impl":358,"../generated/ValidityState":585,"../helpers/events":604,"../helpers/form-controls":606,"../helpers/internal-constants":609,"../helpers/text":625,"./HTMLElement-impl":677,"domexception/webidl2js-wrapper":247}],730:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -153988,7 +154050,7 @@ module.exports = {
   implementation: HTMLTimeElementImpl
 };
 
-},{"./HTMLElement-impl":673}],727:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],731:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -154008,7 +154070,7 @@ module.exports = {
   implementation: HTMLTitleElementImpl
 };
 
-},{"../helpers/text":621,"./HTMLElement-impl":673}],728:[function(require,module,exports){
+},{"../helpers/text":625,"./HTMLElement-impl":677}],732:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -154023,7 +154085,7 @@ module.exports = {
   implementation: HTMLTrackElementImpl
 };
 
-},{"./HTMLElement-impl":673}],729:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],733:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -154034,7 +154096,7 @@ module.exports = {
   implementation: HTMLUListElementImpl
 };
 
-},{"./HTMLElement-impl":673}],730:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],734:[function(require,module,exports){
 "use strict";
 
 const HTMLElementImpl = require("./HTMLElement-impl").implementation;
@@ -154045,7 +154107,7 @@ module.exports = {
   implementation: HTMLUnknownElementImpl
 };
 
-},{"./HTMLElement-impl":673}],731:[function(require,module,exports){
+},{"./HTMLElement-impl":677}],735:[function(require,module,exports){
 "use strict";
 
 const HTMLMediaElementImpl = require("./HTMLMediaElement-impl").implementation;
@@ -154064,7 +154126,7 @@ module.exports = {
   implementation: HTMLVideoElementImpl
 };
 
-},{"./HTMLMediaElement-impl":694}],732:[function(require,module,exports){
+},{"./HTMLMediaElement-impl":698}],736:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -155231,7 +155293,7 @@ module.exports = {
   implementation: NodeImpl
 };
 
-},{"../../utils":776,"../attributes":351,"../events/EventTarget-impl":370,"../generated/NodeList":540,"../helpers/custom-elements":596,"../helpers/document-base-url":599,"../helpers/internal-constants":605,"../helpers/mutation-observers":608,"../helpers/node":610,"../helpers/shadow-dom":615,"../node":642,"../node-document-position":640,"../node-type":641,"domexception/webidl2js-wrapper":243}],733:[function(require,module,exports){
+},{"../../utils":780,"../attributes":355,"../events/EventTarget-impl":374,"../generated/NodeList":544,"../helpers/custom-elements":600,"../helpers/document-base-url":603,"../helpers/internal-constants":609,"../helpers/mutation-observers":612,"../helpers/node":614,"../helpers/shadow-dom":619,"../node":646,"../node-document-position":644,"../node-type":645,"domexception/webidl2js-wrapper":247}],737:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils.js");
@@ -155276,7 +155338,7 @@ exports.implementation = class NodeListImpl {
   }
 };
 
-},{"../generated/utils.js":591}],734:[function(require,module,exports){
+},{"../generated/utils.js":595}],738:[function(require,module,exports){
 "use strict";
 
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -155306,7 +155368,7 @@ module.exports = {
   implementation: NonDocumentTypeChildNodeImpl
 };
 
-},{"../helpers/internal-constants":605,"../node-type":641}],735:[function(require,module,exports){
+},{"../helpers/internal-constants":609,"../node-type":645}],739:[function(require,module,exports){
 "use strict";
 
 // https://dom.spec.whatwg.org/#interface-nonelementparentnode
@@ -155319,7 +155381,7 @@ module.exports = {
   implementation: NonElementParentNodeImpl
 };
 
-},{}],736:[function(require,module,exports){
+},{}],740:[function(require,module,exports){
 "use strict";
 
 const idlUtils = require("../generated/utils");
@@ -155412,7 +155474,7 @@ module.exports = {
   implementation: ParentNodeImpl
 };
 
-},{"../generated/HTMLCollection":451,"../generated/NodeList":540,"../generated/utils":591,"../helpers/internal-constants":605,"../helpers/selectors":614,"../node":642,"../node-type":641}],737:[function(require,module,exports){
+},{"../generated/HTMLCollection":455,"../generated/NodeList":544,"../generated/utils":595,"../helpers/internal-constants":609,"../helpers/selectors":618,"../node":646,"../node-type":645}],741:[function(require,module,exports){
 "use strict";
 
 const CharacterDataImpl = require("./CharacterData-impl").implementation;
@@ -155436,7 +155498,7 @@ module.exports = {
   implementation: ProcessingInstructionImpl
 };
 
-},{"../node-type":641,"./CharacterData-impl":644}],738:[function(require,module,exports){
+},{"../node-type":645,"./CharacterData-impl":648}],742:[function(require,module,exports){
 "use strict";
 
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -155502,7 +155564,7 @@ mixin(SVGElementImpl.prototype, HTMLOrSVGElementImpl.prototype);
 
 exports.implementation = SVGElementImpl;
 
-},{"../../utils":776,"../generated/SVGAnimatedString":554,"../helpers/internal-constants":605,"../helpers/namespaces":609,"./Element-impl":654,"./ElementCSSInlineStyle-impl":655,"./GlobalEventHandlers-impl":656,"./HTMLOrSVGElement-impl":704}],739:[function(require,module,exports){
+},{"../../utils":780,"../generated/SVGAnimatedString":558,"../helpers/internal-constants":609,"../helpers/namespaces":613,"./Element-impl":658,"./ElementCSSInlineStyle-impl":659,"./GlobalEventHandlers-impl":660,"./HTMLOrSVGElement-impl":708}],743:[function(require,module,exports){
 "use strict";
 
 const { mixin } = require("../../utils");
@@ -155520,7 +155582,7 @@ mixin(SVGGraphicsElementImpl.prototype, SVGTestsImpl.prototype);
 
 exports.implementation = SVGGraphicsElementImpl;
 
-},{"../../utils":776,"./SVGElement-impl":738,"./SVGTests-impl":741}],740:[function(require,module,exports){
+},{"../../utils":780,"./SVGElement-impl":742,"./SVGTests-impl":745}],744:[function(require,module,exports){
 "use strict";
 
 const { mixin } = require("../../utils");
@@ -155564,7 +155626,7 @@ module.exports = {
   implementation: SVGSVGElementImpl
 };
 
-},{"../../utils":776,"../generated/SVGNumber":557,"../helpers/internal-constants":605,"../node-type":641,"./SVGGraphicsElement-impl":739,"./WindowEventHandlers-impl":746}],741:[function(require,module,exports){
+},{"../../utils":780,"../generated/SVGNumber":561,"../helpers/internal-constants":609,"../node-type":645,"./SVGGraphicsElement-impl":743,"./WindowEventHandlers-impl":750}],745:[function(require,module,exports){
 "use strict";
 
 const { splitOnASCIIWhitespace, splitOnCommas } = require("../helpers/strings");
@@ -155608,7 +155670,7 @@ SVGTestsImpl.attributeRegistry = new Map([
 
 exports.implementation = SVGTestsImpl;
 
-},{"../generated/SVGStringList":559,"../helpers/strings":616,"../helpers/svg/basic-types":619}],742:[function(require,module,exports){
+},{"../generated/SVGStringList":563,"../helpers/strings":620,"../helpers/svg/basic-types":623}],746:[function(require,module,exports){
 "use strict";
 
 const SVGElementImpl = require("./SVGElement-impl").implementation;
@@ -155619,7 +155681,7 @@ module.exports = {
   implementation: SVGTitleElementImpl
 };
 
-},{"./SVGElement-impl":738}],743:[function(require,module,exports){
+},{"./SVGElement-impl":742}],747:[function(require,module,exports){
 "use strict";
 
 const { nodeRoot } = require("../helpers/node");
@@ -155661,7 +155723,7 @@ module.exports = {
   implementation: ShadowRootImpl
 };
 
-},{"../../utils":776,"../domparsing/InnerHTML-impl":360,"../helpers/node":610,"./DocumentFragment-impl":651,"./DocumentOrShadowRoot-impl":652}],744:[function(require,module,exports){
+},{"../../utils":780,"../domparsing/InnerHTML-impl":364,"../helpers/node":614,"./DocumentFragment-impl":655,"./DocumentOrShadowRoot-impl":656}],748:[function(require,module,exports){
 "use strict";
 
 const { findSlot, assignSlot, assignSlotable } = require("../helpers/shadow-dom");
@@ -155711,7 +155773,7 @@ module.exports = {
   implementation: SlotableMixinImpl
 };
 
-},{"../helpers/shadow-dom":615}],745:[function(require,module,exports){
+},{"../helpers/shadow-dom":619}],749:[function(require,module,exports){
 "use strict";
 const SlotableMixinImpl = require("./Slotable-impl").implementation;
 const CharacterDataImpl = require("./CharacterData-impl").implementation;
@@ -155809,7 +155871,7 @@ module.exports = {
   implementation: TextImpl
 };
 
-},{"../../utils":776,"../generated/utils":591,"../helpers/internal-constants":605,"../node-type":641,"./CharacterData-impl":644,"./Slotable-impl":744,"domexception/webidl2js-wrapper":243}],746:[function(require,module,exports){
+},{"../../utils":780,"../generated/utils":595,"../helpers/internal-constants":609,"../node-type":645,"./CharacterData-impl":648,"./Slotable-impl":748,"domexception/webidl2js-wrapper":247}],750:[function(require,module,exports){
 "use strict";
 
 const { createEventAccessor } = require("../helpers/create-event-accessor");
@@ -155863,13 +155925,13 @@ module.exports = {
   implementation: WindowEventHandlersImpl
 };
 
-},{"../helpers/create-event-accessor":595}],747:[function(require,module,exports){
+},{"../helpers/create-event-accessor":599}],751:[function(require,module,exports){
 "use strict";
 const DocumentImpl = require("./Document-impl").implementation;
 
 exports.implementation = class XMLDocumentImpl extends DocumentImpl {};
 
-},{"./Document-impl":650}],748:[function(require,module,exports){
+},{"./Document-impl":654}],752:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const MessageEvent = require("./generated/MessageEvent");
@@ -155910,7 +155972,7 @@ module.exports = function (globalObject) {
   };
 };
 
-},{"../utils":776,"./generated/MessageEvent":525,"./generated/utils":591,"./helpers/events":600,"domexception/webidl2js-wrapper":243}],749:[function(require,module,exports){
+},{"../utils":780,"./generated/MessageEvent":529,"./generated/utils":595,"./helpers/events":604,"domexception/webidl2js-wrapper":247}],753:[function(require,module,exports){
 "use strict";
 
 // https://dom.spec.whatwg.org/#abstractrange
@@ -155955,7 +156017,7 @@ module.exports = {
   implementation: AbstractRangeImpl
 };
 
-},{}],750:[function(require,module,exports){
+},{}],754:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -156846,7 +156908,7 @@ module.exports = {
   setBoundaryPointEnd
 };
 
-},{"../../browser/parser/index":339,"../generated/DocumentFragment":418,"../generated/Range":553,"../generated/utils":591,"../helpers/create-element":594,"../helpers/internal-constants":605,"../helpers/namespaces":609,"../helpers/node":610,"../node":642,"../node-type":641,"./AbstractRange-impl":749,"./boundary-point":752,"domexception/webidl2js-wrapper":243}],751:[function(require,module,exports){
+},{"../../browser/parser/index":343,"../generated/DocumentFragment":422,"../generated/Range":557,"../generated/utils":595,"../helpers/create-element":598,"../helpers/internal-constants":609,"../helpers/namespaces":613,"../helpers/node":614,"../node":646,"../node-type":645,"./AbstractRange-impl":753,"./boundary-point":756,"domexception/webidl2js-wrapper":247}],755:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -156887,7 +156949,7 @@ module.exports = {
   implementation: StaticRangeImpl
 };
 
-},{"../node-type":641,"./AbstractRange-impl":749,"domexception/webidl2js-wrapper":243}],752:[function(require,module,exports){
+},{"../node-type":645,"./AbstractRange-impl":753,"domexception/webidl2js-wrapper":247}],756:[function(require,module,exports){
 "use strict";
 
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -156936,7 +156998,7 @@ module.exports = {
   compareBoundaryPointsPosition
 };
 
-},{"../helpers/internal-constants":605,"../helpers/node":610}],753:[function(require,module,exports){
+},{"../helpers/internal-constants":609,"../helpers/node":614}],757:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -157280,7 +157342,7 @@ module.exports = {
   implementation: SelectionImpl
 };
 
-},{"../generated/Range":553,"../generated/utils":591,"../helpers/internal-constants":605,"../helpers/node":610,"../node-type":641,"../range/Range-impl":750,"../range/boundary-point":752,"domexception/webidl2js-wrapper":243}],754:[function(require,module,exports){
+},{"../generated/Range":557,"../generated/utils":595,"../helpers/internal-constants":609,"../helpers/node":614,"../node-type":645,"../range/Range-impl":754,"../range/boundary-point":756,"domexception/webidl2js-wrapper":247}],758:[function(require,module,exports){
 "use strict";
 
 class SVGAnimatedStringImpl {
@@ -157320,7 +157382,7 @@ class SVGAnimatedStringImpl {
 
 exports.implementation = SVGAnimatedStringImpl;
 
-},{}],755:[function(require,module,exports){
+},{}],759:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -157517,7 +157579,7 @@ class List {
 
 module.exports = List;
 
-},{"../generated/utils":591,"../helpers/svg/basic-types":619,"domexception/webidl2js-wrapper":243}],756:[function(require,module,exports){
+},{"../generated/utils":595,"../helpers/svg/basic-types":623,"domexception/webidl2js-wrapper":247}],760:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -157567,7 +157629,7 @@ class SVGNumberImpl {
 
 exports.implementation = SVGNumberImpl;
 
-},{"domexception/webidl2js-wrapper":243}],757:[function(require,module,exports){
+},{"domexception/webidl2js-wrapper":247}],761:[function(require,module,exports){
 "use strict";
 
 const { mixin } = require("../../utils");
@@ -157585,7 +157647,7 @@ mixin(SVGStringListImpl.prototype, SVGListBase.prototype);
 
 exports.implementation = SVGStringListImpl;
 
-},{"../../utils":776,"./SVGListBase":755}],758:[function(require,module,exports){
+},{"../../utils":780,"./SVGListBase":759}],762:[function(require,module,exports){
 "use strict";
 const { hasWeakRefs } = require("../../utils");
 const { domSymbolTree } = require("../helpers/internal-constants");
@@ -157714,7 +157776,7 @@ exports.implementation = class NodeIteratorImpl {
   }
 };
 
-},{"../../utils":776,"../helpers/internal-constants":605,"./helpers":760}],759:[function(require,module,exports){
+},{"../../utils":780,"../helpers/internal-constants":609,"./helpers":764}],763:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -157933,7 +157995,7 @@ exports.implementation = class TreeWalkerImpl {
   }
 };
 
-},{"./helpers":760,"domexception/webidl2js-wrapper":243}],760:[function(require,module,exports){
+},{"./helpers":764,"domexception/webidl2js-wrapper":247}],764:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const conversions = require("webidl-conversions");
@@ -157979,7 +158041,7 @@ exports.filter = (nodeIteratorOrTreeWalkerImpl, nodeImpl) => {
   return result;
 };
 
-},{"domexception/webidl2js-wrapper":243,"webidl-conversions":1075}],761:[function(require,module,exports){
+},{"domexception/webidl2js-wrapper":247,"webidl-conversions":1079}],765:[function(require,module,exports){
 (function (Buffer){(function (){
 /* eslint-env browser */
 
@@ -158158,7 +158220,7 @@ setupForSimpleEventAccessors(WebSocketImpl.prototype, ["open", "message", "error
 exports.implementation = WebSocketImpl;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"../events/EventTarget-impl":370,"../generated/Blob":399,"../generated/CloseEvent":404,"../generated/MessageEvent":525,"../generated/utils":591,"../helpers/create-event-accessor":595,"../helpers/events":600,"buffer":124,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],762:[function(require,module,exports){
+},{"../events/EventTarget-impl":374,"../generated/Blob":403,"../generated/CloseEvent":408,"../generated/MessageEvent":529,"../generated/utils":595,"../helpers/create-event-accessor":599,"../helpers/events":604,"buffer":128,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],766:[function(require,module,exports){
 "use strict";
 
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -158262,7 +158324,7 @@ module.exports = {
   implementation: StorageImpl
 };
 
-},{"../generated/StorageEvent":570,"../generated/utils":591,"../helpers/events":600,"domexception/webidl2js-wrapper":243}],763:[function(require,module,exports){
+},{"../generated/StorageEvent":574,"../generated/utils":595,"../helpers/events":604,"domexception/webidl2js-wrapper":247}],767:[function(require,module,exports){
 "use strict";
 
 // https://html.spec.whatwg.org/multipage/window-object.html#browser-interface-elements
@@ -158274,7 +158336,7 @@ BarPropImpl.prototype.visible = true;
 
 exports.implementation = BarPropImpl;
 
-},{}],764:[function(require,module,exports){
+},{}],768:[function(require,module,exports){
 "use strict";
 
 // https://html.spec.whatwg.org/multipage/obsolete.html#dom-external
@@ -158285,7 +158347,7 @@ exports.implementation = class ExternalImpl {
   IsSearchProviderInstalled() {}
 };
 
-},{}],765:[function(require,module,exports){
+},{}],769:[function(require,module,exports){
 "use strict";
 const DOMException = require("domexception/webidl2js-wrapper");
 const { documentBaseURLSerialized, parseURLToResultingURLRecord } = require("../helpers/document-base-url.js");
@@ -158421,7 +158483,7 @@ exports.implementation = class HistoryImpl {
   }
 };
 
-},{"../helpers/document-base-url.js":599,"domexception/webidl2js-wrapper":243}],766:[function(require,module,exports){
+},{"../helpers/document-base-url.js":603,"domexception/webidl2js-wrapper":247}],770:[function(require,module,exports){
 "use strict";
 const whatwgURL = require("whatwg-url");
 const DOMException = require("domexception/webidl2js-wrapper");
@@ -158661,7 +158723,7 @@ exports.implementation = class LocationImpl {
   }
 };
 
-},{"../helpers/document-base-url":599,"./navigation":769,"domexception/webidl2js-wrapper":243,"whatwg-url":1113}],767:[function(require,module,exports){
+},{"../helpers/document-base-url":603,"./navigation":773,"domexception/webidl2js-wrapper":247,"whatwg-url":1117}],771:[function(require,module,exports){
 "use strict";
 
 // https://drafts.csswg.org/cssom-view-1/#the-screen-interface
@@ -158676,7 +158738,7 @@ ScreenImpl.prototype.pixelDepth = 24;
 
 exports.implementation = ScreenImpl;
 
-},{}],768:[function(require,module,exports){
+},{}],772:[function(require,module,exports){
 "use strict";
 const whatwgURL = require("whatwg-url");
 const HashChangeEvent = require("../generated/HashChangeEvent.js");
@@ -158841,7 +158903,7 @@ class SessionHistory {
 }
 module.exports = SessionHistory;
 
-},{"../../browser/not-implemented.js":337,"../generated/HashChangeEvent.js":516,"../generated/PopStateEvent.js":548,"../generated/utils.js":591,"../helpers/events":600,"whatwg-url":1113}],769:[function(require,module,exports){
+},{"../../browser/not-implemented.js":341,"../generated/HashChangeEvent.js":520,"../generated/PopStateEvent.js":552,"../generated/utils.js":595,"../helpers/events":604,"whatwg-url":1117}],773:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 const whatwgURL = require("whatwg-url");
@@ -158929,7 +158991,7 @@ function urlEquals(a, b, flags) {
 }
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"../../browser/not-implemented.js":337,"../generated/utils.js":591,"../helpers/runtime-script-errors.js":613,"buffer":124,"whatwg-url":1113}],770:[function(require,module,exports){
+},{"../../browser/not-implemented.js":341,"../generated/utils.js":595,"../helpers/runtime-script-errors.js":617,"buffer":128,"whatwg-url":1117}],774:[function(require,module,exports){
 "use strict";
 const idlUtils = require("../generated/utils");
 const { closest } = require("../helpers/traversal");
@@ -159107,7 +159169,7 @@ function appendAnEntry(entryList, name, value, preventLineBreakNormalization = f
   entryList.push(entry);
 }
 
-},{"../generated/Blob.js":399,"../generated/File.js":434,"../generated/utils":591,"../helpers/form-controls":602,"../helpers/traversal":622,"webidl-conversions":1075}],771:[function(require,module,exports){
+},{"../generated/Blob.js":403,"../generated/File.js":438,"../generated/utils":595,"../helpers/form-controls":606,"../helpers/traversal":626,"webidl-conversions":1079}],775:[function(require,module,exports){
 (function (process,Buffer){(function (){
 "use strict";
 
@@ -160134,7 +160196,7 @@ function extractBody(bodyInit) {
 exports.implementation = XMLHttpRequestImpl;
 
 }).call(this)}).call(this,require('_process'),require("buffer").Buffer)
-},{"../../browser/parser":339,"../domparsing/serialization":363,"../generated/Blob":399,"../generated/Document":417,"../generated/FormData":440,"../generated/ProgressEvent":551,"../generated/XMLHttpRequestUpload":589,"../generated/utils":591,"../helpers/binary-data":593,"../helpers/create-event-accessor":595,"../helpers/document-base-url":599,"../helpers/events":600,"../helpers/json":607,"../helpers/strings":616,"./XMLHttpRequestEventTarget-impl":772,"./xhr-utils":774,"_process":974,"buffer":124,"child_process":122,"domexception/webidl2js-wrapper":243,"http":1019,"tough-cookie":1044,"whatwg-encoding":1078,"whatwg-mimetype":1098,"whatwg-url":1113}],772:[function(require,module,exports){
+},{"../../browser/parser":343,"../domparsing/serialization":367,"../generated/Blob":403,"../generated/Document":421,"../generated/FormData":444,"../generated/ProgressEvent":555,"../generated/XMLHttpRequestUpload":593,"../generated/utils":595,"../helpers/binary-data":597,"../helpers/create-event-accessor":599,"../helpers/document-base-url":603,"../helpers/events":604,"../helpers/json":611,"../helpers/strings":620,"./XMLHttpRequestEventTarget-impl":776,"./xhr-utils":778,"_process":978,"buffer":128,"child_process":126,"domexception/webidl2js-wrapper":247,"http":1023,"tough-cookie":1048,"whatwg-encoding":1082,"whatwg-mimetype":1102,"whatwg-url":1117}],776:[function(require,module,exports){
 "use strict";
 const EventTargetImpl = require("../events/EventTarget-impl").implementation;
 const idlUtils = require("../generated/utils");
@@ -160153,13 +160215,13 @@ setupForSimpleEventAccessors(XMLHttpRequestEventTargetImpl.prototype, events);
 
 exports.implementation = XMLHttpRequestEventTargetImpl;
 
-},{"../events/EventTarget-impl":370,"../generated/utils":591,"../helpers/create-event-accessor":595}],773:[function(require,module,exports){
+},{"../events/EventTarget-impl":374,"../generated/utils":595,"../helpers/create-event-accessor":599}],777:[function(require,module,exports){
 "use strict";
 const XMLHttpRequestEventTargetImpl = require("./XMLHttpRequestEventTarget-impl").implementation;
 
 exports.implementation = class XMLHttpRequestUploadImpl extends XMLHttpRequestEventTargetImpl {};
 
-},{"./XMLHttpRequestEventTarget-impl":772}],774:[function(require,module,exports){
+},{"./XMLHttpRequestEventTarget-impl":776}],778:[function(require,module,exports){
 (function (process,Buffer,setImmediate){(function (){
 "use strict";
 const fs = require("fs");
@@ -160601,7 +160663,7 @@ exports.setResponseToNetworkError = setResponseToNetworkError;
 exports.createClient = createClient;
 
 }).call(this)}).call(this,require('_process'),require("buffer").Buffer,require("timers").setImmediate)
-},{"../generated/ProgressEvent":551,"../helpers/agent-factory":592,"../helpers/events":600,"../helpers/http-request":604,"_process":974,"buffer":124,"data-urls":221,"domexception/webidl2js-wrapper":243,"events":280,"form-data":283,"fs":122,"timers":1043,"whatwg-url":1113}],775:[function(require,module,exports){
+},{"../generated/ProgressEvent":555,"../helpers/agent-factory":596,"../helpers/events":604,"../helpers/http-request":608,"_process":978,"buffer":128,"data-urls":225,"domexception/webidl2js-wrapper":247,"events":284,"form-data":287,"fs":126,"timers":1047,"whatwg-url":1117}],779:[function(require,module,exports){
 "use strict";
 // https://heycam.github.io/webidl/#idl-named-properties
 
@@ -160761,7 +160823,7 @@ NamedPropertiesTracker.prototype.untrack = function (name, value) {
   delete this.object[name];
 };
 
-},{}],776:[function(require,module,exports){
+},{}],780:[function(require,module,exports){
 (function (process){(function (){
 "use strict";
 const path = require("path");
@@ -160930,7 +160992,7 @@ if (canvasInstalled) {
 }
 
 }).call(this)}).call(this,require('_process'))
-},{"./living/helpers/internal-constants":605,"_process":974,"canvas":77,"path":966,"symbol-tree":1039,"whatwg-url":1113}],777:[function(require,module,exports){
+},{"./living/helpers/internal-constants":609,"_process":978,"canvas":81,"path":970,"symbol-tree":1043,"whatwg-url":1117}],781:[function(require,module,exports){
 "use strict";
 const { EventEmitter } = require("events");
 
@@ -160966,7 +161028,7 @@ module.exports = class VirtualConsole extends EventEmitter {
   }
 };
 
-},{"events":280}],778:[function(require,module,exports){
+},{"events":284}],782:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 /* eslint-disable no-new-func */
@@ -161076,7 +161138,7 @@ exports.Script = class VMShimScript {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./browser/js-globals.json":336,"acorn":779,"acorn-globals":47,"escodegen":262}],779:[function(require,module,exports){
+},{"./browser/js-globals.json":340,"acorn":783,"acorn-globals":51,"escodegen":266}],783:[function(require,module,exports){
 (function (global, factory) {
   typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
   typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -166603,7 +166665,7 @@ exports.Script = class VMShimScript {
 
 })));
 
-},{}],780:[function(require,module,exports){
+},{}],784:[function(require,module,exports){
 module.exports={
   "name": "jsdom",
   "version": "16.6.0",
@@ -166721,7 +166783,7 @@ module.exports={
   }
 }
 
-},{}],781:[function(require,module,exports){
+},{}],785:[function(require,module,exports){
 var getNative = require('./_getNative'),
     root = require('./_root');
 
@@ -166730,7 +166792,7 @@ var DataView = getNative(root, 'DataView');
 
 module.exports = DataView;
 
-},{"./_getNative":843,"./_root":881}],782:[function(require,module,exports){
+},{"./_getNative":847,"./_root":885}],786:[function(require,module,exports){
 var hashClear = require('./_hashClear'),
     hashDelete = require('./_hashDelete'),
     hashGet = require('./_hashGet'),
@@ -166764,7 +166826,7 @@ Hash.prototype.set = hashSet;
 
 module.exports = Hash;
 
-},{"./_hashClear":849,"./_hashDelete":850,"./_hashGet":851,"./_hashHas":852,"./_hashSet":853}],783:[function(require,module,exports){
+},{"./_hashClear":853,"./_hashDelete":854,"./_hashGet":855,"./_hashHas":856,"./_hashSet":857}],787:[function(require,module,exports){
 var listCacheClear = require('./_listCacheClear'),
     listCacheDelete = require('./_listCacheDelete'),
     listCacheGet = require('./_listCacheGet'),
@@ -166798,7 +166860,7 @@ ListCache.prototype.set = listCacheSet;
 
 module.exports = ListCache;
 
-},{"./_listCacheClear":862,"./_listCacheDelete":863,"./_listCacheGet":864,"./_listCacheHas":865,"./_listCacheSet":866}],784:[function(require,module,exports){
+},{"./_listCacheClear":866,"./_listCacheDelete":867,"./_listCacheGet":868,"./_listCacheHas":869,"./_listCacheSet":870}],788:[function(require,module,exports){
 var getNative = require('./_getNative'),
     root = require('./_root');
 
@@ -166807,7 +166869,7 @@ var Map = getNative(root, 'Map');
 
 module.exports = Map;
 
-},{"./_getNative":843,"./_root":881}],785:[function(require,module,exports){
+},{"./_getNative":847,"./_root":885}],789:[function(require,module,exports){
 var mapCacheClear = require('./_mapCacheClear'),
     mapCacheDelete = require('./_mapCacheDelete'),
     mapCacheGet = require('./_mapCacheGet'),
@@ -166841,7 +166903,7 @@ MapCache.prototype.set = mapCacheSet;
 
 module.exports = MapCache;
 
-},{"./_mapCacheClear":867,"./_mapCacheDelete":868,"./_mapCacheGet":869,"./_mapCacheHas":870,"./_mapCacheSet":871}],786:[function(require,module,exports){
+},{"./_mapCacheClear":871,"./_mapCacheDelete":872,"./_mapCacheGet":873,"./_mapCacheHas":874,"./_mapCacheSet":875}],790:[function(require,module,exports){
 var getNative = require('./_getNative'),
     root = require('./_root');
 
@@ -166850,7 +166912,7 @@ var Promise = getNative(root, 'Promise');
 
 module.exports = Promise;
 
-},{"./_getNative":843,"./_root":881}],787:[function(require,module,exports){
+},{"./_getNative":847,"./_root":885}],791:[function(require,module,exports){
 var getNative = require('./_getNative'),
     root = require('./_root');
 
@@ -166859,7 +166921,7 @@ var Set = getNative(root, 'Set');
 
 module.exports = Set;
 
-},{"./_getNative":843,"./_root":881}],788:[function(require,module,exports){
+},{"./_getNative":847,"./_root":885}],792:[function(require,module,exports){
 var MapCache = require('./_MapCache'),
     setCacheAdd = require('./_setCacheAdd'),
     setCacheHas = require('./_setCacheHas');
@@ -166888,7 +166950,7 @@ SetCache.prototype.has = setCacheHas;
 
 module.exports = SetCache;
 
-},{"./_MapCache":785,"./_setCacheAdd":882,"./_setCacheHas":883}],789:[function(require,module,exports){
+},{"./_MapCache":789,"./_setCacheAdd":886,"./_setCacheHas":887}],793:[function(require,module,exports){
 var ListCache = require('./_ListCache'),
     stackClear = require('./_stackClear'),
     stackDelete = require('./_stackDelete'),
@@ -166917,7 +166979,7 @@ Stack.prototype.set = stackSet;
 
 module.exports = Stack;
 
-},{"./_ListCache":783,"./_stackClear":887,"./_stackDelete":888,"./_stackGet":889,"./_stackHas":890,"./_stackSet":891}],790:[function(require,module,exports){
+},{"./_ListCache":787,"./_stackClear":891,"./_stackDelete":892,"./_stackGet":893,"./_stackHas":894,"./_stackSet":895}],794:[function(require,module,exports){
 var root = require('./_root');
 
 /** Built-in value references. */
@@ -166925,7 +166987,7 @@ var Symbol = root.Symbol;
 
 module.exports = Symbol;
 
-},{"./_root":881}],791:[function(require,module,exports){
+},{"./_root":885}],795:[function(require,module,exports){
 var root = require('./_root');
 
 /** Built-in value references. */
@@ -166933,7 +166995,7 @@ var Uint8Array = root.Uint8Array;
 
 module.exports = Uint8Array;
 
-},{"./_root":881}],792:[function(require,module,exports){
+},{"./_root":885}],796:[function(require,module,exports){
 var getNative = require('./_getNative'),
     root = require('./_root');
 
@@ -166942,7 +167004,7 @@ var WeakMap = getNative(root, 'WeakMap');
 
 module.exports = WeakMap;
 
-},{"./_getNative":843,"./_root":881}],793:[function(require,module,exports){
+},{"./_getNative":847,"./_root":885}],797:[function(require,module,exports){
 /**
  * A faster alternative to `Function#apply`, this function invokes `func`
  * with the `this` binding of `thisArg` and the arguments of `args`.
@@ -166965,7 +167027,7 @@ function apply(func, thisArg, args) {
 
 module.exports = apply;
 
-},{}],794:[function(require,module,exports){
+},{}],798:[function(require,module,exports){
 /**
  * A specialized version of `_.filter` for arrays without support for
  * iteratee shorthands.
@@ -166992,7 +167054,7 @@ function arrayFilter(array, predicate) {
 
 module.exports = arrayFilter;
 
-},{}],795:[function(require,module,exports){
+},{}],799:[function(require,module,exports){
 var baseTimes = require('./_baseTimes'),
     isArguments = require('./isArguments'),
     isArray = require('./isArray'),
@@ -167043,7 +167105,7 @@ function arrayLikeKeys(value, inherited) {
 
 module.exports = arrayLikeKeys;
 
-},{"./_baseTimes":825,"./_isIndex":855,"./isArguments":900,"./isArray":901,"./isBuffer":903,"./isTypedArray":909}],796:[function(require,module,exports){
+},{"./_baseTimes":829,"./_isIndex":859,"./isArguments":904,"./isArray":905,"./isBuffer":907,"./isTypedArray":913}],800:[function(require,module,exports){
 /**
  * A specialized version of `_.map` for arrays without support for iteratee
  * shorthands.
@@ -167066,7 +167128,7 @@ function arrayMap(array, iteratee) {
 
 module.exports = arrayMap;
 
-},{}],797:[function(require,module,exports){
+},{}],801:[function(require,module,exports){
 /**
  * Appends the elements of `values` to `array`.
  *
@@ -167088,7 +167150,7 @@ function arrayPush(array, values) {
 
 module.exports = arrayPush;
 
-},{}],798:[function(require,module,exports){
+},{}],802:[function(require,module,exports){
 /**
  * A specialized version of `_.some` for arrays without support for iteratee
  * shorthands.
@@ -167113,7 +167175,7 @@ function arraySome(array, predicate) {
 
 module.exports = arraySome;
 
-},{}],799:[function(require,module,exports){
+},{}],803:[function(require,module,exports){
 var eq = require('./eq');
 
 /**
@@ -167136,7 +167198,7 @@ function assocIndexOf(array, key) {
 
 module.exports = assocIndexOf;
 
-},{"./eq":896}],800:[function(require,module,exports){
+},{"./eq":900}],804:[function(require,module,exports){
 var baseForOwn = require('./_baseForOwn'),
     createBaseEach = require('./_createBaseEach');
 
@@ -167152,7 +167214,7 @@ var baseEach = createBaseEach(baseForOwn);
 
 module.exports = baseEach;
 
-},{"./_baseForOwn":803,"./_createBaseEach":833}],801:[function(require,module,exports){
+},{"./_baseForOwn":807,"./_createBaseEach":837}],805:[function(require,module,exports){
 var arrayPush = require('./_arrayPush'),
     isFlattenable = require('./_isFlattenable');
 
@@ -167192,7 +167254,7 @@ function baseFlatten(array, depth, predicate, isStrict, result) {
 
 module.exports = baseFlatten;
 
-},{"./_arrayPush":797,"./_isFlattenable":854}],802:[function(require,module,exports){
+},{"./_arrayPush":801,"./_isFlattenable":858}],806:[function(require,module,exports){
 var createBaseFor = require('./_createBaseFor');
 
 /**
@@ -167210,7 +167272,7 @@ var baseFor = createBaseFor();
 
 module.exports = baseFor;
 
-},{"./_createBaseFor":834}],803:[function(require,module,exports){
+},{"./_createBaseFor":838}],807:[function(require,module,exports){
 var baseFor = require('./_baseFor'),
     keys = require('./keys');
 
@@ -167228,7 +167290,7 @@ function baseForOwn(object, iteratee) {
 
 module.exports = baseForOwn;
 
-},{"./_baseFor":802,"./keys":910}],804:[function(require,module,exports){
+},{"./_baseFor":806,"./keys":914}],808:[function(require,module,exports){
 var castPath = require('./_castPath'),
     toKey = require('./_toKey');
 
@@ -167254,7 +167316,7 @@ function baseGet(object, path) {
 
 module.exports = baseGet;
 
-},{"./_castPath":829,"./_toKey":893}],805:[function(require,module,exports){
+},{"./_castPath":833,"./_toKey":897}],809:[function(require,module,exports){
 var arrayPush = require('./_arrayPush'),
     isArray = require('./isArray');
 
@@ -167276,7 +167338,7 @@ function baseGetAllKeys(object, keysFunc, symbolsFunc) {
 
 module.exports = baseGetAllKeys;
 
-},{"./_arrayPush":797,"./isArray":901}],806:[function(require,module,exports){
+},{"./_arrayPush":801,"./isArray":905}],810:[function(require,module,exports){
 var Symbol = require('./_Symbol'),
     getRawTag = require('./_getRawTag'),
     objectToString = require('./_objectToString');
@@ -167306,7 +167368,7 @@ function baseGetTag(value) {
 
 module.exports = baseGetTag;
 
-},{"./_Symbol":790,"./_getRawTag":844,"./_objectToString":878}],807:[function(require,module,exports){
+},{"./_Symbol":794,"./_getRawTag":848,"./_objectToString":882}],811:[function(require,module,exports){
 /**
  * The base implementation of `_.hasIn` without support for deep paths.
  *
@@ -167321,7 +167383,7 @@ function baseHasIn(object, key) {
 
 module.exports = baseHasIn;
 
-},{}],808:[function(require,module,exports){
+},{}],812:[function(require,module,exports){
 var baseGetTag = require('./_baseGetTag'),
     isObjectLike = require('./isObjectLike');
 
@@ -167341,7 +167403,7 @@ function baseIsArguments(value) {
 
 module.exports = baseIsArguments;
 
-},{"./_baseGetTag":806,"./isObjectLike":907}],809:[function(require,module,exports){
+},{"./_baseGetTag":810,"./isObjectLike":911}],813:[function(require,module,exports){
 var baseIsEqualDeep = require('./_baseIsEqualDeep'),
     isObjectLike = require('./isObjectLike');
 
@@ -167371,7 +167433,7 @@ function baseIsEqual(value, other, bitmask, customizer, stack) {
 
 module.exports = baseIsEqual;
 
-},{"./_baseIsEqualDeep":810,"./isObjectLike":907}],810:[function(require,module,exports){
+},{"./_baseIsEqualDeep":814,"./isObjectLike":911}],814:[function(require,module,exports){
 var Stack = require('./_Stack'),
     equalArrays = require('./_equalArrays'),
     equalByTag = require('./_equalByTag'),
@@ -167456,7 +167518,7 @@ function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
 
 module.exports = baseIsEqualDeep;
 
-},{"./_Stack":789,"./_equalArrays":836,"./_equalByTag":837,"./_equalObjects":838,"./_getTag":846,"./isArray":901,"./isBuffer":903,"./isTypedArray":909}],811:[function(require,module,exports){
+},{"./_Stack":793,"./_equalArrays":840,"./_equalByTag":841,"./_equalObjects":842,"./_getTag":850,"./isArray":905,"./isBuffer":907,"./isTypedArray":913}],815:[function(require,module,exports){
 var Stack = require('./_Stack'),
     baseIsEqual = require('./_baseIsEqual');
 
@@ -167520,7 +167582,7 @@ function baseIsMatch(object, source, matchData, customizer) {
 
 module.exports = baseIsMatch;
 
-},{"./_Stack":789,"./_baseIsEqual":809}],812:[function(require,module,exports){
+},{"./_Stack":793,"./_baseIsEqual":813}],816:[function(require,module,exports){
 var isFunction = require('./isFunction'),
     isMasked = require('./_isMasked'),
     isObject = require('./isObject'),
@@ -167569,7 +167631,7 @@ function baseIsNative(value) {
 
 module.exports = baseIsNative;
 
-},{"./_isMasked":859,"./_toSource":894,"./isFunction":904,"./isObject":906}],813:[function(require,module,exports){
+},{"./_isMasked":863,"./_toSource":898,"./isFunction":908,"./isObject":910}],817:[function(require,module,exports){
 var baseGetTag = require('./_baseGetTag'),
     isLength = require('./isLength'),
     isObjectLike = require('./isObjectLike');
@@ -167631,7 +167693,7 @@ function baseIsTypedArray(value) {
 
 module.exports = baseIsTypedArray;
 
-},{"./_baseGetTag":806,"./isLength":905,"./isObjectLike":907}],814:[function(require,module,exports){
+},{"./_baseGetTag":810,"./isLength":909,"./isObjectLike":911}],818:[function(require,module,exports){
 var baseMatches = require('./_baseMatches'),
     baseMatchesProperty = require('./_baseMatchesProperty'),
     identity = require('./identity'),
@@ -167664,7 +167726,7 @@ function baseIteratee(value) {
 
 module.exports = baseIteratee;
 
-},{"./_baseMatches":817,"./_baseMatchesProperty":818,"./identity":899,"./isArray":901,"./property":912}],815:[function(require,module,exports){
+},{"./_baseMatches":821,"./_baseMatchesProperty":822,"./identity":903,"./isArray":905,"./property":916}],819:[function(require,module,exports){
 var isPrototype = require('./_isPrototype'),
     nativeKeys = require('./_nativeKeys');
 
@@ -167696,7 +167758,7 @@ function baseKeys(object) {
 
 module.exports = baseKeys;
 
-},{"./_isPrototype":860,"./_nativeKeys":876}],816:[function(require,module,exports){
+},{"./_isPrototype":864,"./_nativeKeys":880}],820:[function(require,module,exports){
 var baseEach = require('./_baseEach'),
     isArrayLike = require('./isArrayLike');
 
@@ -167720,7 +167782,7 @@ function baseMap(collection, iteratee) {
 
 module.exports = baseMap;
 
-},{"./_baseEach":800,"./isArrayLike":902}],817:[function(require,module,exports){
+},{"./_baseEach":804,"./isArrayLike":906}],821:[function(require,module,exports){
 var baseIsMatch = require('./_baseIsMatch'),
     getMatchData = require('./_getMatchData'),
     matchesStrictComparable = require('./_matchesStrictComparable');
@@ -167744,7 +167806,7 @@ function baseMatches(source) {
 
 module.exports = baseMatches;
 
-},{"./_baseIsMatch":811,"./_getMatchData":842,"./_matchesStrictComparable":873}],818:[function(require,module,exports){
+},{"./_baseIsMatch":815,"./_getMatchData":846,"./_matchesStrictComparable":877}],822:[function(require,module,exports){
 var baseIsEqual = require('./_baseIsEqual'),
     get = require('./get'),
     hasIn = require('./hasIn'),
@@ -167779,7 +167841,7 @@ function baseMatchesProperty(path, srcValue) {
 
 module.exports = baseMatchesProperty;
 
-},{"./_baseIsEqual":809,"./_isKey":857,"./_isStrictComparable":861,"./_matchesStrictComparable":873,"./_toKey":893,"./get":897,"./hasIn":898}],819:[function(require,module,exports){
+},{"./_baseIsEqual":813,"./_isKey":861,"./_isStrictComparable":865,"./_matchesStrictComparable":877,"./_toKey":897,"./get":901,"./hasIn":902}],823:[function(require,module,exports){
 var arrayMap = require('./_arrayMap'),
     baseGet = require('./_baseGet'),
     baseIteratee = require('./_baseIteratee'),
@@ -167830,7 +167892,7 @@ function baseOrderBy(collection, iteratees, orders) {
 
 module.exports = baseOrderBy;
 
-},{"./_arrayMap":796,"./_baseGet":804,"./_baseIteratee":814,"./_baseMap":816,"./_baseSortBy":824,"./_baseUnary":827,"./_compareMultiple":831,"./identity":899,"./isArray":901}],820:[function(require,module,exports){
+},{"./_arrayMap":800,"./_baseGet":808,"./_baseIteratee":818,"./_baseMap":820,"./_baseSortBy":828,"./_baseUnary":831,"./_compareMultiple":835,"./identity":903,"./isArray":905}],824:[function(require,module,exports){
 /**
  * The base implementation of `_.property` without support for deep paths.
  *
@@ -167846,7 +167908,7 @@ function baseProperty(key) {
 
 module.exports = baseProperty;
 
-},{}],821:[function(require,module,exports){
+},{}],825:[function(require,module,exports){
 var baseGet = require('./_baseGet');
 
 /**
@@ -167864,7 +167926,7 @@ function basePropertyDeep(path) {
 
 module.exports = basePropertyDeep;
 
-},{"./_baseGet":804}],822:[function(require,module,exports){
+},{"./_baseGet":808}],826:[function(require,module,exports){
 var identity = require('./identity'),
     overRest = require('./_overRest'),
     setToString = require('./_setToString');
@@ -167883,7 +167945,7 @@ function baseRest(func, start) {
 
 module.exports = baseRest;
 
-},{"./_overRest":880,"./_setToString":885,"./identity":899}],823:[function(require,module,exports){
+},{"./_overRest":884,"./_setToString":889,"./identity":903}],827:[function(require,module,exports){
 var constant = require('./constant'),
     defineProperty = require('./_defineProperty'),
     identity = require('./identity');
@@ -167907,7 +167969,7 @@ var baseSetToString = !defineProperty ? identity : function(func, string) {
 
 module.exports = baseSetToString;
 
-},{"./_defineProperty":835,"./constant":895,"./identity":899}],824:[function(require,module,exports){
+},{"./_defineProperty":839,"./constant":899,"./identity":903}],828:[function(require,module,exports){
 /**
  * The base implementation of `_.sortBy` which uses `comparer` to define the
  * sort order of `array` and replaces criteria objects with their corresponding
@@ -167930,7 +167992,7 @@ function baseSortBy(array, comparer) {
 
 module.exports = baseSortBy;
 
-},{}],825:[function(require,module,exports){
+},{}],829:[function(require,module,exports){
 /**
  * The base implementation of `_.times` without support for iteratee shorthands
  * or max array length checks.
@@ -167952,7 +168014,7 @@ function baseTimes(n, iteratee) {
 
 module.exports = baseTimes;
 
-},{}],826:[function(require,module,exports){
+},{}],830:[function(require,module,exports){
 var Symbol = require('./_Symbol'),
     arrayMap = require('./_arrayMap'),
     isArray = require('./isArray'),
@@ -167991,7 +168053,7 @@ function baseToString(value) {
 
 module.exports = baseToString;
 
-},{"./_Symbol":790,"./_arrayMap":796,"./isArray":901,"./isSymbol":908}],827:[function(require,module,exports){
+},{"./_Symbol":794,"./_arrayMap":800,"./isArray":905,"./isSymbol":912}],831:[function(require,module,exports){
 /**
  * The base implementation of `_.unary` without support for storing metadata.
  *
@@ -168007,7 +168069,7 @@ function baseUnary(func) {
 
 module.exports = baseUnary;
 
-},{}],828:[function(require,module,exports){
+},{}],832:[function(require,module,exports){
 /**
  * Checks if a `cache` value for `key` exists.
  *
@@ -168022,7 +168084,7 @@ function cacheHas(cache, key) {
 
 module.exports = cacheHas;
 
-},{}],829:[function(require,module,exports){
+},{}],833:[function(require,module,exports){
 var isArray = require('./isArray'),
     isKey = require('./_isKey'),
     stringToPath = require('./_stringToPath'),
@@ -168045,7 +168107,7 @@ function castPath(value, object) {
 
 module.exports = castPath;
 
-},{"./_isKey":857,"./_stringToPath":892,"./isArray":901,"./toString":916}],830:[function(require,module,exports){
+},{"./_isKey":861,"./_stringToPath":896,"./isArray":905,"./toString":920}],834:[function(require,module,exports){
 var isSymbol = require('./isSymbol');
 
 /**
@@ -168088,7 +168150,7 @@ function compareAscending(value, other) {
 
 module.exports = compareAscending;
 
-},{"./isSymbol":908}],831:[function(require,module,exports){
+},{"./isSymbol":912}],835:[function(require,module,exports){
 var compareAscending = require('./_compareAscending');
 
 /**
@@ -168134,7 +168196,7 @@ function compareMultiple(object, other, orders) {
 
 module.exports = compareMultiple;
 
-},{"./_compareAscending":830}],832:[function(require,module,exports){
+},{"./_compareAscending":834}],836:[function(require,module,exports){
 var root = require('./_root');
 
 /** Used to detect overreaching core-js shims. */
@@ -168142,7 +168204,7 @@ var coreJsData = root['__core-js_shared__'];
 
 module.exports = coreJsData;
 
-},{"./_root":881}],833:[function(require,module,exports){
+},{"./_root":885}],837:[function(require,module,exports){
 var isArrayLike = require('./isArrayLike');
 
 /**
@@ -168176,7 +168238,7 @@ function createBaseEach(eachFunc, fromRight) {
 
 module.exports = createBaseEach;
 
-},{"./isArrayLike":902}],834:[function(require,module,exports){
+},{"./isArrayLike":906}],838:[function(require,module,exports){
 /**
  * Creates a base function for methods like `_.forIn` and `_.forOwn`.
  *
@@ -168203,7 +168265,7 @@ function createBaseFor(fromRight) {
 
 module.exports = createBaseFor;
 
-},{}],835:[function(require,module,exports){
+},{}],839:[function(require,module,exports){
 var getNative = require('./_getNative');
 
 var defineProperty = (function() {
@@ -168216,7 +168278,7 @@ var defineProperty = (function() {
 
 module.exports = defineProperty;
 
-},{"./_getNative":843}],836:[function(require,module,exports){
+},{"./_getNative":847}],840:[function(require,module,exports){
 var SetCache = require('./_SetCache'),
     arraySome = require('./_arraySome'),
     cacheHas = require('./_cacheHas');
@@ -168302,7 +168364,7 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
 
 module.exports = equalArrays;
 
-},{"./_SetCache":788,"./_arraySome":798,"./_cacheHas":828}],837:[function(require,module,exports){
+},{"./_SetCache":792,"./_arraySome":802,"./_cacheHas":832}],841:[function(require,module,exports){
 var Symbol = require('./_Symbol'),
     Uint8Array = require('./_Uint8Array'),
     eq = require('./eq'),
@@ -168416,7 +168478,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
 
 module.exports = equalByTag;
 
-},{"./_Symbol":790,"./_Uint8Array":791,"./_equalArrays":836,"./_mapToArray":872,"./_setToArray":884,"./eq":896}],838:[function(require,module,exports){
+},{"./_Symbol":794,"./_Uint8Array":795,"./_equalArrays":840,"./_mapToArray":876,"./_setToArray":888,"./eq":900}],842:[function(require,module,exports){
 var getAllKeys = require('./_getAllKeys');
 
 /** Used to compose bitmasks for value comparisons. */
@@ -168508,7 +168570,7 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
 
 module.exports = equalObjects;
 
-},{"./_getAllKeys":840}],839:[function(require,module,exports){
+},{"./_getAllKeys":844}],843:[function(require,module,exports){
 (function (global){(function (){
 /** Detect free variable `global` from Node.js. */
 var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
@@ -168516,7 +168578,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object
 module.exports = freeGlobal;
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],840:[function(require,module,exports){
+},{}],844:[function(require,module,exports){
 var baseGetAllKeys = require('./_baseGetAllKeys'),
     getSymbols = require('./_getSymbols'),
     keys = require('./keys');
@@ -168534,7 +168596,7 @@ function getAllKeys(object) {
 
 module.exports = getAllKeys;
 
-},{"./_baseGetAllKeys":805,"./_getSymbols":845,"./keys":910}],841:[function(require,module,exports){
+},{"./_baseGetAllKeys":809,"./_getSymbols":849,"./keys":914}],845:[function(require,module,exports){
 var isKeyable = require('./_isKeyable');
 
 /**
@@ -168554,7 +168616,7 @@ function getMapData(map, key) {
 
 module.exports = getMapData;
 
-},{"./_isKeyable":858}],842:[function(require,module,exports){
+},{"./_isKeyable":862}],846:[function(require,module,exports){
 var isStrictComparable = require('./_isStrictComparable'),
     keys = require('./keys');
 
@@ -168580,7 +168642,7 @@ function getMatchData(object) {
 
 module.exports = getMatchData;
 
-},{"./_isStrictComparable":861,"./keys":910}],843:[function(require,module,exports){
+},{"./_isStrictComparable":865,"./keys":914}],847:[function(require,module,exports){
 var baseIsNative = require('./_baseIsNative'),
     getValue = require('./_getValue');
 
@@ -168599,7 +168661,7 @@ function getNative(object, key) {
 
 module.exports = getNative;
 
-},{"./_baseIsNative":812,"./_getValue":847}],844:[function(require,module,exports){
+},{"./_baseIsNative":816,"./_getValue":851}],848:[function(require,module,exports){
 var Symbol = require('./_Symbol');
 
 /** Used for built-in method references. */
@@ -168647,7 +168709,7 @@ function getRawTag(value) {
 
 module.exports = getRawTag;
 
-},{"./_Symbol":790}],845:[function(require,module,exports){
+},{"./_Symbol":794}],849:[function(require,module,exports){
 var arrayFilter = require('./_arrayFilter'),
     stubArray = require('./stubArray');
 
@@ -168679,7 +168741,7 @@ var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
 
 module.exports = getSymbols;
 
-},{"./_arrayFilter":794,"./stubArray":914}],846:[function(require,module,exports){
+},{"./_arrayFilter":798,"./stubArray":918}],850:[function(require,module,exports){
 var DataView = require('./_DataView'),
     Map = require('./_Map'),
     Promise = require('./_Promise'),
@@ -168739,7 +168801,7 @@ if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||
 
 module.exports = getTag;
 
-},{"./_DataView":781,"./_Map":784,"./_Promise":786,"./_Set":787,"./_WeakMap":792,"./_baseGetTag":806,"./_toSource":894}],847:[function(require,module,exports){
+},{"./_DataView":785,"./_Map":788,"./_Promise":790,"./_Set":791,"./_WeakMap":796,"./_baseGetTag":810,"./_toSource":898}],851:[function(require,module,exports){
 /**
  * Gets the value at `key` of `object`.
  *
@@ -168754,7 +168816,7 @@ function getValue(object, key) {
 
 module.exports = getValue;
 
-},{}],848:[function(require,module,exports){
+},{}],852:[function(require,module,exports){
 var castPath = require('./_castPath'),
     isArguments = require('./isArguments'),
     isArray = require('./isArray'),
@@ -168795,7 +168857,7 @@ function hasPath(object, path, hasFunc) {
 
 module.exports = hasPath;
 
-},{"./_castPath":829,"./_isIndex":855,"./_toKey":893,"./isArguments":900,"./isArray":901,"./isLength":905}],849:[function(require,module,exports){
+},{"./_castPath":833,"./_isIndex":859,"./_toKey":897,"./isArguments":904,"./isArray":905,"./isLength":909}],853:[function(require,module,exports){
 var nativeCreate = require('./_nativeCreate');
 
 /**
@@ -168812,7 +168874,7 @@ function hashClear() {
 
 module.exports = hashClear;
 
-},{"./_nativeCreate":875}],850:[function(require,module,exports){
+},{"./_nativeCreate":879}],854:[function(require,module,exports){
 /**
  * Removes `key` and its value from the hash.
  *
@@ -168831,7 +168893,7 @@ function hashDelete(key) {
 
 module.exports = hashDelete;
 
-},{}],851:[function(require,module,exports){
+},{}],855:[function(require,module,exports){
 var nativeCreate = require('./_nativeCreate');
 
 /** Used to stand-in for `undefined` hash values. */
@@ -168863,7 +168925,7 @@ function hashGet(key) {
 
 module.exports = hashGet;
 
-},{"./_nativeCreate":875}],852:[function(require,module,exports){
+},{"./_nativeCreate":879}],856:[function(require,module,exports){
 var nativeCreate = require('./_nativeCreate');
 
 /** Used for built-in method references. */
@@ -168888,7 +168950,7 @@ function hashHas(key) {
 
 module.exports = hashHas;
 
-},{"./_nativeCreate":875}],853:[function(require,module,exports){
+},{"./_nativeCreate":879}],857:[function(require,module,exports){
 var nativeCreate = require('./_nativeCreate');
 
 /** Used to stand-in for `undefined` hash values. */
@@ -168913,7 +168975,7 @@ function hashSet(key, value) {
 
 module.exports = hashSet;
 
-},{"./_nativeCreate":875}],854:[function(require,module,exports){
+},{"./_nativeCreate":879}],858:[function(require,module,exports){
 var Symbol = require('./_Symbol'),
     isArguments = require('./isArguments'),
     isArray = require('./isArray');
@@ -168935,7 +168997,7 @@ function isFlattenable(value) {
 
 module.exports = isFlattenable;
 
-},{"./_Symbol":790,"./isArguments":900,"./isArray":901}],855:[function(require,module,exports){
+},{"./_Symbol":794,"./isArguments":904,"./isArray":905}],859:[function(require,module,exports){
 /** Used as references for various `Number` constants. */
 var MAX_SAFE_INTEGER = 9007199254740991;
 
@@ -168962,7 +169024,7 @@ function isIndex(value, length) {
 
 module.exports = isIndex;
 
-},{}],856:[function(require,module,exports){
+},{}],860:[function(require,module,exports){
 var eq = require('./eq'),
     isArrayLike = require('./isArrayLike'),
     isIndex = require('./_isIndex'),
@@ -168994,7 +169056,7 @@ function isIterateeCall(value, index, object) {
 
 module.exports = isIterateeCall;
 
-},{"./_isIndex":855,"./eq":896,"./isArrayLike":902,"./isObject":906}],857:[function(require,module,exports){
+},{"./_isIndex":859,"./eq":900,"./isArrayLike":906,"./isObject":910}],861:[function(require,module,exports){
 var isArray = require('./isArray'),
     isSymbol = require('./isSymbol');
 
@@ -169025,7 +169087,7 @@ function isKey(value, object) {
 
 module.exports = isKey;
 
-},{"./isArray":901,"./isSymbol":908}],858:[function(require,module,exports){
+},{"./isArray":905,"./isSymbol":912}],862:[function(require,module,exports){
 /**
  * Checks if `value` is suitable for use as unique object key.
  *
@@ -169042,7 +169104,7 @@ function isKeyable(value) {
 
 module.exports = isKeyable;
 
-},{}],859:[function(require,module,exports){
+},{}],863:[function(require,module,exports){
 var coreJsData = require('./_coreJsData');
 
 /** Used to detect methods masquerading as native. */
@@ -169064,7 +169126,7 @@ function isMasked(func) {
 
 module.exports = isMasked;
 
-},{"./_coreJsData":832}],860:[function(require,module,exports){
+},{"./_coreJsData":836}],864:[function(require,module,exports){
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
@@ -169084,7 +169146,7 @@ function isPrototype(value) {
 
 module.exports = isPrototype;
 
-},{}],861:[function(require,module,exports){
+},{}],865:[function(require,module,exports){
 var isObject = require('./isObject');
 
 /**
@@ -169101,7 +169163,7 @@ function isStrictComparable(value) {
 
 module.exports = isStrictComparable;
 
-},{"./isObject":906}],862:[function(require,module,exports){
+},{"./isObject":910}],866:[function(require,module,exports){
 /**
  * Removes all key-value entries from the list cache.
  *
@@ -169116,7 +169178,7 @@ function listCacheClear() {
 
 module.exports = listCacheClear;
 
-},{}],863:[function(require,module,exports){
+},{}],867:[function(require,module,exports){
 var assocIndexOf = require('./_assocIndexOf');
 
 /** Used for built-in method references. */
@@ -169153,7 +169215,7 @@ function listCacheDelete(key) {
 
 module.exports = listCacheDelete;
 
-},{"./_assocIndexOf":799}],864:[function(require,module,exports){
+},{"./_assocIndexOf":803}],868:[function(require,module,exports){
 var assocIndexOf = require('./_assocIndexOf');
 
 /**
@@ -169174,7 +169236,7 @@ function listCacheGet(key) {
 
 module.exports = listCacheGet;
 
-},{"./_assocIndexOf":799}],865:[function(require,module,exports){
+},{"./_assocIndexOf":803}],869:[function(require,module,exports){
 var assocIndexOf = require('./_assocIndexOf');
 
 /**
@@ -169192,7 +169254,7 @@ function listCacheHas(key) {
 
 module.exports = listCacheHas;
 
-},{"./_assocIndexOf":799}],866:[function(require,module,exports){
+},{"./_assocIndexOf":803}],870:[function(require,module,exports){
 var assocIndexOf = require('./_assocIndexOf');
 
 /**
@@ -169220,7 +169282,7 @@ function listCacheSet(key, value) {
 
 module.exports = listCacheSet;
 
-},{"./_assocIndexOf":799}],867:[function(require,module,exports){
+},{"./_assocIndexOf":803}],871:[function(require,module,exports){
 var Hash = require('./_Hash'),
     ListCache = require('./_ListCache'),
     Map = require('./_Map');
@@ -169243,7 +169305,7 @@ function mapCacheClear() {
 
 module.exports = mapCacheClear;
 
-},{"./_Hash":782,"./_ListCache":783,"./_Map":784}],868:[function(require,module,exports){
+},{"./_Hash":786,"./_ListCache":787,"./_Map":788}],872:[function(require,module,exports){
 var getMapData = require('./_getMapData');
 
 /**
@@ -169263,7 +169325,7 @@ function mapCacheDelete(key) {
 
 module.exports = mapCacheDelete;
 
-},{"./_getMapData":841}],869:[function(require,module,exports){
+},{"./_getMapData":845}],873:[function(require,module,exports){
 var getMapData = require('./_getMapData');
 
 /**
@@ -169281,7 +169343,7 @@ function mapCacheGet(key) {
 
 module.exports = mapCacheGet;
 
-},{"./_getMapData":841}],870:[function(require,module,exports){
+},{"./_getMapData":845}],874:[function(require,module,exports){
 var getMapData = require('./_getMapData');
 
 /**
@@ -169299,7 +169361,7 @@ function mapCacheHas(key) {
 
 module.exports = mapCacheHas;
 
-},{"./_getMapData":841}],871:[function(require,module,exports){
+},{"./_getMapData":845}],875:[function(require,module,exports){
 var getMapData = require('./_getMapData');
 
 /**
@@ -169323,7 +169385,7 @@ function mapCacheSet(key, value) {
 
 module.exports = mapCacheSet;
 
-},{"./_getMapData":841}],872:[function(require,module,exports){
+},{"./_getMapData":845}],876:[function(require,module,exports){
 /**
  * Converts `map` to its key-value pairs.
  *
@@ -169343,7 +169405,7 @@ function mapToArray(map) {
 
 module.exports = mapToArray;
 
-},{}],873:[function(require,module,exports){
+},{}],877:[function(require,module,exports){
 /**
  * A specialized version of `matchesProperty` for source values suitable
  * for strict equality comparisons, i.e. `===`.
@@ -169365,7 +169427,7 @@ function matchesStrictComparable(key, srcValue) {
 
 module.exports = matchesStrictComparable;
 
-},{}],874:[function(require,module,exports){
+},{}],878:[function(require,module,exports){
 var memoize = require('./memoize');
 
 /** Used as the maximum memoize cache size. */
@@ -169393,7 +169455,7 @@ function memoizeCapped(func) {
 
 module.exports = memoizeCapped;
 
-},{"./memoize":911}],875:[function(require,module,exports){
+},{"./memoize":915}],879:[function(require,module,exports){
 var getNative = require('./_getNative');
 
 /* Built-in method references that are verified to be native. */
@@ -169401,7 +169463,7 @@ var nativeCreate = getNative(Object, 'create');
 
 module.exports = nativeCreate;
 
-},{"./_getNative":843}],876:[function(require,module,exports){
+},{"./_getNative":847}],880:[function(require,module,exports){
 var overArg = require('./_overArg');
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
@@ -169409,7 +169471,7 @@ var nativeKeys = overArg(Object.keys, Object);
 
 module.exports = nativeKeys;
 
-},{"./_overArg":879}],877:[function(require,module,exports){
+},{"./_overArg":883}],881:[function(require,module,exports){
 var freeGlobal = require('./_freeGlobal');
 
 /** Detect free variable `exports`. */
@@ -169441,7 +169503,7 @@ var nodeUtil = (function() {
 
 module.exports = nodeUtil;
 
-},{"./_freeGlobal":839}],878:[function(require,module,exports){
+},{"./_freeGlobal":843}],882:[function(require,module,exports){
 /** Used for built-in method references. */
 var objectProto = Object.prototype;
 
@@ -169465,7 +169527,7 @@ function objectToString(value) {
 
 module.exports = objectToString;
 
-},{}],879:[function(require,module,exports){
+},{}],883:[function(require,module,exports){
 /**
  * Creates a unary function that invokes `func` with its argument transformed.
  *
@@ -169482,7 +169544,7 @@ function overArg(func, transform) {
 
 module.exports = overArg;
 
-},{}],880:[function(require,module,exports){
+},{}],884:[function(require,module,exports){
 var apply = require('./_apply');
 
 /* Built-in method references for those with the same name as other `lodash` methods. */
@@ -169520,7 +169582,7 @@ function overRest(func, start, transform) {
 
 module.exports = overRest;
 
-},{"./_apply":793}],881:[function(require,module,exports){
+},{"./_apply":797}],885:[function(require,module,exports){
 var freeGlobal = require('./_freeGlobal');
 
 /** Detect free variable `self`. */
@@ -169531,7 +169593,7 @@ var root = freeGlobal || freeSelf || Function('return this')();
 
 module.exports = root;
 
-},{"./_freeGlobal":839}],882:[function(require,module,exports){
+},{"./_freeGlobal":843}],886:[function(require,module,exports){
 /** Used to stand-in for `undefined` hash values. */
 var HASH_UNDEFINED = '__lodash_hash_undefined__';
 
@@ -169552,7 +169614,7 @@ function setCacheAdd(value) {
 
 module.exports = setCacheAdd;
 
-},{}],883:[function(require,module,exports){
+},{}],887:[function(require,module,exports){
 /**
  * Checks if `value` is in the array cache.
  *
@@ -169568,7 +169630,7 @@ function setCacheHas(value) {
 
 module.exports = setCacheHas;
 
-},{}],884:[function(require,module,exports){
+},{}],888:[function(require,module,exports){
 /**
  * Converts `set` to an array of its values.
  *
@@ -169588,7 +169650,7 @@ function setToArray(set) {
 
 module.exports = setToArray;
 
-},{}],885:[function(require,module,exports){
+},{}],889:[function(require,module,exports){
 var baseSetToString = require('./_baseSetToString'),
     shortOut = require('./_shortOut');
 
@@ -169604,7 +169666,7 @@ var setToString = shortOut(baseSetToString);
 
 module.exports = setToString;
 
-},{"./_baseSetToString":823,"./_shortOut":886}],886:[function(require,module,exports){
+},{"./_baseSetToString":827,"./_shortOut":890}],890:[function(require,module,exports){
 /** Used to detect hot functions by number of calls within a span of milliseconds. */
 var HOT_COUNT = 800,
     HOT_SPAN = 16;
@@ -169643,7 +169705,7 @@ function shortOut(func) {
 
 module.exports = shortOut;
 
-},{}],887:[function(require,module,exports){
+},{}],891:[function(require,module,exports){
 var ListCache = require('./_ListCache');
 
 /**
@@ -169660,7 +169722,7 @@ function stackClear() {
 
 module.exports = stackClear;
 
-},{"./_ListCache":783}],888:[function(require,module,exports){
+},{"./_ListCache":787}],892:[function(require,module,exports){
 /**
  * Removes `key` and its value from the stack.
  *
@@ -169680,7 +169742,7 @@ function stackDelete(key) {
 
 module.exports = stackDelete;
 
-},{}],889:[function(require,module,exports){
+},{}],893:[function(require,module,exports){
 /**
  * Gets the stack value for `key`.
  *
@@ -169696,7 +169758,7 @@ function stackGet(key) {
 
 module.exports = stackGet;
 
-},{}],890:[function(require,module,exports){
+},{}],894:[function(require,module,exports){
 /**
  * Checks if a stack value for `key` exists.
  *
@@ -169712,7 +169774,7 @@ function stackHas(key) {
 
 module.exports = stackHas;
 
-},{}],891:[function(require,module,exports){
+},{}],895:[function(require,module,exports){
 var ListCache = require('./_ListCache'),
     Map = require('./_Map'),
     MapCache = require('./_MapCache');
@@ -169748,7 +169810,7 @@ function stackSet(key, value) {
 
 module.exports = stackSet;
 
-},{"./_ListCache":783,"./_Map":784,"./_MapCache":785}],892:[function(require,module,exports){
+},{"./_ListCache":787,"./_Map":788,"./_MapCache":789}],896:[function(require,module,exports){
 var memoizeCapped = require('./_memoizeCapped');
 
 /** Used to match property names within property paths. */
@@ -169777,7 +169839,7 @@ var stringToPath = memoizeCapped(function(string) {
 
 module.exports = stringToPath;
 
-},{"./_memoizeCapped":874}],893:[function(require,module,exports){
+},{"./_memoizeCapped":878}],897:[function(require,module,exports){
 var isSymbol = require('./isSymbol');
 
 /** Used as references for various `Number` constants. */
@@ -169800,7 +169862,7 @@ function toKey(value) {
 
 module.exports = toKey;
 
-},{"./isSymbol":908}],894:[function(require,module,exports){
+},{"./isSymbol":912}],898:[function(require,module,exports){
 /** Used for built-in method references. */
 var funcProto = Function.prototype;
 
@@ -169828,7 +169890,7 @@ function toSource(func) {
 
 module.exports = toSource;
 
-},{}],895:[function(require,module,exports){
+},{}],899:[function(require,module,exports){
 /**
  * Creates a function that returns `value`.
  *
@@ -169856,7 +169918,7 @@ function constant(value) {
 
 module.exports = constant;
 
-},{}],896:[function(require,module,exports){
+},{}],900:[function(require,module,exports){
 /**
  * Performs a
  * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
@@ -169895,7 +169957,7 @@ function eq(value, other) {
 
 module.exports = eq;
 
-},{}],897:[function(require,module,exports){
+},{}],901:[function(require,module,exports){
 var baseGet = require('./_baseGet');
 
 /**
@@ -169930,7 +169992,7 @@ function get(object, path, defaultValue) {
 
 module.exports = get;
 
-},{"./_baseGet":804}],898:[function(require,module,exports){
+},{"./_baseGet":808}],902:[function(require,module,exports){
 var baseHasIn = require('./_baseHasIn'),
     hasPath = require('./_hasPath');
 
@@ -169966,7 +170028,7 @@ function hasIn(object, path) {
 
 module.exports = hasIn;
 
-},{"./_baseHasIn":807,"./_hasPath":848}],899:[function(require,module,exports){
+},{"./_baseHasIn":811,"./_hasPath":852}],903:[function(require,module,exports){
 /**
  * This method returns the first argument it receives.
  *
@@ -169989,7 +170051,7 @@ function identity(value) {
 
 module.exports = identity;
 
-},{}],900:[function(require,module,exports){
+},{}],904:[function(require,module,exports){
 var baseIsArguments = require('./_baseIsArguments'),
     isObjectLike = require('./isObjectLike');
 
@@ -170027,7 +170089,7 @@ var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsAr
 
 module.exports = isArguments;
 
-},{"./_baseIsArguments":808,"./isObjectLike":907}],901:[function(require,module,exports){
+},{"./_baseIsArguments":812,"./isObjectLike":911}],905:[function(require,module,exports){
 /**
  * Checks if `value` is classified as an `Array` object.
  *
@@ -170055,7 +170117,7 @@ var isArray = Array.isArray;
 
 module.exports = isArray;
 
-},{}],902:[function(require,module,exports){
+},{}],906:[function(require,module,exports){
 var isFunction = require('./isFunction'),
     isLength = require('./isLength');
 
@@ -170090,7 +170152,7 @@ function isArrayLike(value) {
 
 module.exports = isArrayLike;
 
-},{"./isFunction":904,"./isLength":905}],903:[function(require,module,exports){
+},{"./isFunction":908,"./isLength":909}],907:[function(require,module,exports){
 var root = require('./_root'),
     stubFalse = require('./stubFalse');
 
@@ -170130,7 +170192,7 @@ var isBuffer = nativeIsBuffer || stubFalse;
 
 module.exports = isBuffer;
 
-},{"./_root":881,"./stubFalse":915}],904:[function(require,module,exports){
+},{"./_root":885,"./stubFalse":919}],908:[function(require,module,exports){
 var baseGetTag = require('./_baseGetTag'),
     isObject = require('./isObject');
 
@@ -170169,7 +170231,7 @@ function isFunction(value) {
 
 module.exports = isFunction;
 
-},{"./_baseGetTag":806,"./isObject":906}],905:[function(require,module,exports){
+},{"./_baseGetTag":810,"./isObject":910}],909:[function(require,module,exports){
 /** Used as references for various `Number` constants. */
 var MAX_SAFE_INTEGER = 9007199254740991;
 
@@ -170206,7 +170268,7 @@ function isLength(value) {
 
 module.exports = isLength;
 
-},{}],906:[function(require,module,exports){
+},{}],910:[function(require,module,exports){
 /**
  * Checks if `value` is the
  * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
@@ -170239,7 +170301,7 @@ function isObject(value) {
 
 module.exports = isObject;
 
-},{}],907:[function(require,module,exports){
+},{}],911:[function(require,module,exports){
 /**
  * Checks if `value` is object-like. A value is object-like if it's not `null`
  * and has a `typeof` result of "object".
@@ -170270,7 +170332,7 @@ function isObjectLike(value) {
 
 module.exports = isObjectLike;
 
-},{}],908:[function(require,module,exports){
+},{}],912:[function(require,module,exports){
 var baseGetTag = require('./_baseGetTag'),
     isObjectLike = require('./isObjectLike');
 
@@ -170301,7 +170363,7 @@ function isSymbol(value) {
 
 module.exports = isSymbol;
 
-},{"./_baseGetTag":806,"./isObjectLike":907}],909:[function(require,module,exports){
+},{"./_baseGetTag":810,"./isObjectLike":911}],913:[function(require,module,exports){
 var baseIsTypedArray = require('./_baseIsTypedArray'),
     baseUnary = require('./_baseUnary'),
     nodeUtil = require('./_nodeUtil');
@@ -170330,7 +170392,7 @@ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedA
 
 module.exports = isTypedArray;
 
-},{"./_baseIsTypedArray":813,"./_baseUnary":827,"./_nodeUtil":877}],910:[function(require,module,exports){
+},{"./_baseIsTypedArray":817,"./_baseUnary":831,"./_nodeUtil":881}],914:[function(require,module,exports){
 var arrayLikeKeys = require('./_arrayLikeKeys'),
     baseKeys = require('./_baseKeys'),
     isArrayLike = require('./isArrayLike');
@@ -170369,7 +170431,7 @@ function keys(object) {
 
 module.exports = keys;
 
-},{"./_arrayLikeKeys":795,"./_baseKeys":815,"./isArrayLike":902}],911:[function(require,module,exports){
+},{"./_arrayLikeKeys":799,"./_baseKeys":819,"./isArrayLike":906}],915:[function(require,module,exports){
 var MapCache = require('./_MapCache');
 
 /** Error message constants. */
@@ -170444,7 +170506,7 @@ memoize.Cache = MapCache;
 
 module.exports = memoize;
 
-},{"./_MapCache":785}],912:[function(require,module,exports){
+},{"./_MapCache":789}],916:[function(require,module,exports){
 var baseProperty = require('./_baseProperty'),
     basePropertyDeep = require('./_basePropertyDeep'),
     isKey = require('./_isKey'),
@@ -170478,7 +170540,7 @@ function property(path) {
 
 module.exports = property;
 
-},{"./_baseProperty":820,"./_basePropertyDeep":821,"./_isKey":857,"./_toKey":893}],913:[function(require,module,exports){
+},{"./_baseProperty":824,"./_basePropertyDeep":825,"./_isKey":861,"./_toKey":897}],917:[function(require,module,exports){
 var baseFlatten = require('./_baseFlatten'),
     baseOrderBy = require('./_baseOrderBy'),
     baseRest = require('./_baseRest'),
@@ -170528,7 +170590,7 @@ var sortBy = baseRest(function(collection, iteratees) {
 
 module.exports = sortBy;
 
-},{"./_baseFlatten":801,"./_baseOrderBy":819,"./_baseRest":822,"./_isIterateeCall":856}],914:[function(require,module,exports){
+},{"./_baseFlatten":805,"./_baseOrderBy":823,"./_baseRest":826,"./_isIterateeCall":860}],918:[function(require,module,exports){
 /**
  * This method returns a new empty array.
  *
@@ -170553,7 +170615,7 @@ function stubArray() {
 
 module.exports = stubArray;
 
-},{}],915:[function(require,module,exports){
+},{}],919:[function(require,module,exports){
 /**
  * This method returns `false`.
  *
@@ -170573,7 +170635,7 @@ function stubFalse() {
 
 module.exports = stubFalse;
 
-},{}],916:[function(require,module,exports){
+},{}],920:[function(require,module,exports){
 var baseToString = require('./_baseToString');
 
 /**
@@ -170603,7 +170665,7 @@ function toString(value) {
 
 module.exports = toString;
 
-},{"./_baseToString":826}],917:[function(require,module,exports){
+},{"./_baseToString":830}],921:[function(require,module,exports){
 'use strict'
 var inherits = require('inherits')
 var HashBase = require('hash-base')
@@ -170751,7 +170813,7 @@ function fnI (a, b, c, d, m, k, s) {
 
 module.exports = MD5
 
-},{"hash-base":291,"inherits":328,"safe-buffer":993}],918:[function(require,module,exports){
+},{"hash-base":295,"inherits":332,"safe-buffer":997}],922:[function(require,module,exports){
 var bn = require('bn.js');
 var brorand = require('brorand');
 
@@ -170868,9 +170930,9 @@ MillerRabin.prototype.getDivisor = function getDivisor(n, k) {
   return false;
 };
 
-},{"bn.js":919,"brorand":76}],919:[function(require,module,exports){
-arguments[4][66][0].apply(exports,arguments)
-},{"buffer":77,"dup":66}],920:[function(require,module,exports){
+},{"bn.js":923,"brorand":80}],923:[function(require,module,exports){
+arguments[4][70][0].apply(exports,arguments)
+},{"buffer":81,"dup":70}],924:[function(require,module,exports){
 module.exports = assert;
 
 function assert(val, msg) {
@@ -170883,7 +170945,7 @@ assert.equal = function assertEqual(l, r, msg) {
     throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));
 };
 
-},{}],921:[function(require,module,exports){
+},{}],925:[function(require,module,exports){
 'use strict';
 
 var utils = exports;
@@ -170943,7 +171005,7 @@ utils.encode = function encode(arr, enc) {
     return arr;
 };
 
-},{}],922:[function(require,module,exports){
+},{}],926:[function(require,module,exports){
 /**
  * Helpers.
  */
@@ -171107,7 +171169,7 @@ function plural(ms, msAbs, n, name) {
   return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
 }
 
-},{}],923:[function(require,module,exports){
+},{}],927:[function(require,module,exports){
 /*
  * Copyright (C) 2007-2019 Diego Perini
  * All rights reserved.
@@ -172909,7 +172971,7 @@ function plural(ms, msAbs, n, name) {
 
 });
 
-},{}],924:[function(require,module,exports){
+},{}],928:[function(require,module,exports){
 /*
 object-assign
 (c) Sindre Sorhus
@@ -173001,7 +173063,7 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
 	return to;
 };
 
-},{}],925:[function(require,module,exports){
+},{}],929:[function(require,module,exports){
 exports.endianness = function () { return 'LE' };
 
 exports.hostname = function () {
@@ -173052,7 +173114,7 @@ exports.homedir = function () {
 	return '/'
 };
 
-},{}],926:[function(require,module,exports){
+},{}],930:[function(require,module,exports){
 'use strict';
 
 
@@ -173159,7 +173221,7 @@ exports.setTyped = function (on) {
 
 exports.setTyped(TYPED_OK);
 
-},{}],927:[function(require,module,exports){
+},{}],931:[function(require,module,exports){
 'use strict';
 
 // Note: adler32 takes 12% for level 0 and 2% for level 6.
@@ -173212,7 +173274,7 @@ function adler32(adler, buf, len, pos) {
 
 module.exports = adler32;
 
-},{}],928:[function(require,module,exports){
+},{}],932:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -173282,7 +173344,7 @@ module.exports = {
   //Z_NULL:                 null // Use -1 or null inline, depending on var type
 };
 
-},{}],929:[function(require,module,exports){
+},{}],933:[function(require,module,exports){
 'use strict';
 
 // Note: we can't get significant speed boost here.
@@ -173343,7 +173405,7 @@ function crc32(crc, buf, len, pos) {
 
 module.exports = crc32;
 
-},{}],930:[function(require,module,exports){
+},{}],934:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -175219,7 +175281,7 @@ exports.deflatePrime = deflatePrime;
 exports.deflateTune = deflateTune;
 */
 
-},{"../utils/common":926,"./adler32":927,"./crc32":929,"./messages":934,"./trees":935}],931:[function(require,module,exports){
+},{"../utils/common":930,"./adler32":931,"./crc32":933,"./messages":938,"./trees":939}],935:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -175566,7 +175628,7 @@ module.exports = function inflate_fast(strm, start) {
   return;
 };
 
-},{}],932:[function(require,module,exports){
+},{}],936:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -177124,7 +177186,7 @@ exports.inflateSyncPoint = inflateSyncPoint;
 exports.inflateUndermine = inflateUndermine;
 */
 
-},{"../utils/common":926,"./adler32":927,"./crc32":929,"./inffast":931,"./inftrees":933}],933:[function(require,module,exports){
+},{"../utils/common":930,"./adler32":931,"./crc32":933,"./inffast":935,"./inftrees":937}],937:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -177469,7 +177531,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta
   return 0;
 };
 
-},{"../utils/common":926}],934:[function(require,module,exports){
+},{"../utils/common":930}],938:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -177503,7 +177565,7 @@ module.exports = {
   '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */
 };
 
-},{}],935:[function(require,module,exports){
+},{}],939:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -178727,7 +178789,7 @@ exports._tr_flush_block  = _tr_flush_block;
 exports._tr_tally = _tr_tally;
 exports._tr_align = _tr_align;
 
-},{"../utils/common":926}],936:[function(require,module,exports){
+},{"../utils/common":930}],940:[function(require,module,exports){
 'use strict';
 
 // (C) 1995-2013 Jean-loup Gailly and Mark Adler
@@ -178776,7 +178838,7 @@ function ZStream() {
 
 module.exports = ZStream;
 
-},{}],937:[function(require,module,exports){
+},{}],941:[function(require,module,exports){
 module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb",
 "2.16.840.1.101.3.4.1.2": "aes-128-cbc",
 "2.16.840.1.101.3.4.1.3": "aes-128-ofb",
@@ -178790,7 +178852,7 @@ module.exports={"2.16.840.1.101.3.4.1.1": "aes-128-ecb",
 "2.16.840.1.101.3.4.1.43": "aes-256-ofb",
 "2.16.840.1.101.3.4.1.44": "aes-256-cfb"
 }
-},{}],938:[function(require,module,exports){
+},{}],942:[function(require,module,exports){
 // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
 // Fedor, you are amazing.
 'use strict'
@@ -178914,7 +178976,7 @@ exports.signature = asn1.define('signature', function () {
   )
 })
 
-},{"./certificate":939,"asn1.js":52}],939:[function(require,module,exports){
+},{"./certificate":943,"asn1.js":56}],943:[function(require,module,exports){
 // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
 // thanks to @Rantanen
 
@@ -179005,7 +179067,7 @@ var X509Certificate = asn.define('X509Certificate', function () {
 
 module.exports = X509Certificate
 
-},{"asn1.js":52}],940:[function(require,module,exports){
+},{"asn1.js":56}],944:[function(require,module,exports){
 // adapted from https://github.com/apatil/pemstrip
 var findProc = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m
 var startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m
@@ -179038,7 +179100,7 @@ module.exports = function (okey, password) {
   }
 }
 
-},{"browserify-aes":80,"evp_bytestokey":281,"safe-buffer":993}],941:[function(require,module,exports){
+},{"browserify-aes":84,"evp_bytestokey":285,"safe-buffer":997}],945:[function(require,module,exports){
 var asn1 = require('./asn1')
 var aesid = require('./aesid.json')
 var fixProc = require('./fixProc')
@@ -179147,7 +179209,7 @@ function decrypt (data, password) {
   return Buffer.concat(out)
 }
 
-},{"./aesid.json":937,"./asn1":938,"./fixProc":940,"browserify-aes":80,"pbkdf2":968,"safe-buffer":993}],942:[function(require,module,exports){
+},{"./aesid.json":941,"./asn1":942,"./fixProc":944,"browserify-aes":84,"pbkdf2":972,"safe-buffer":997}],946:[function(require,module,exports){
 'use strict';
 
 const { DOCUMENT_MODE } = require('./html');
@@ -179311,7 +179373,7 @@ exports.serializeContent = function(name, publicId, systemId) {
     return str;
 };
 
-},{"./html":945}],943:[function(require,module,exports){
+},{"./html":949}],947:[function(require,module,exports){
 'use strict';
 
 module.exports = {
@@ -179378,7 +179440,7 @@ module.exports = {
     eofInElementThatCanContainOnlyText: 'eof-in-element-that-can-contain-only-text'
 };
 
-},{}],944:[function(require,module,exports){
+},{}],948:[function(require,module,exports){
 'use strict';
 
 const Tokenizer = require('../tokenizer');
@@ -179645,7 +179707,7 @@ exports.isIntegrationPoint = function(tn, ns, attrs, foreignNS) {
     return false;
 };
 
-},{"../tokenizer":960,"./html":945}],945:[function(require,module,exports){
+},{"../tokenizer":964,"./html":949}],949:[function(require,module,exports){
 'use strict';
 
 const NS = (exports.NAMESPACES = {
@@ -179919,7 +179981,7 @@ exports.SPECIAL_ELEMENTS = {
     }
 };
 
-},{}],946:[function(require,module,exports){
+},{}],950:[function(require,module,exports){
 'use strict';
 
 const UNDEFINED_CODE_POINTS = [
@@ -180030,7 +180092,7 @@ exports.isUndefinedCodePoint = function(cp) {
     return (cp >= 0xfdd0 && cp <= 0xfdef) || UNDEFINED_CODE_POINTS.indexOf(cp) > -1;
 };
 
-},{}],947:[function(require,module,exports){
+},{}],951:[function(require,module,exports){
 'use strict';
 
 const Mixin = require('../../utils/mixin');
@@ -180075,7 +180137,7 @@ class ErrorReportingMixinBase extends Mixin {
 
 module.exports = ErrorReportingMixinBase;
 
-},{"../../utils/mixin":965}],948:[function(require,module,exports){
+},{"../../utils/mixin":969}],952:[function(require,module,exports){
 'use strict';
 
 const ErrorReportingMixinBase = require('./mixin-base');
@@ -180129,7 +180191,7 @@ class ErrorReportingParserMixin extends ErrorReportingMixinBase {
 
 module.exports = ErrorReportingParserMixin;
 
-},{"../../utils/mixin":965,"../location-info/tokenizer-mixin":953,"./mixin-base":947,"./tokenizer-mixin":950}],949:[function(require,module,exports){
+},{"../../utils/mixin":969,"../location-info/tokenizer-mixin":957,"./mixin-base":951,"./tokenizer-mixin":954}],953:[function(require,module,exports){
 'use strict';
 
 const ErrorReportingMixinBase = require('./mixin-base');
@@ -180155,7 +180217,7 @@ class ErrorReportingPreprocessorMixin extends ErrorReportingMixinBase {
 
 module.exports = ErrorReportingPreprocessorMixin;
 
-},{"../../utils/mixin":965,"../position-tracking/preprocessor-mixin":954,"./mixin-base":947}],950:[function(require,module,exports){
+},{"../../utils/mixin":969,"../position-tracking/preprocessor-mixin":958,"./mixin-base":951}],954:[function(require,module,exports){
 'use strict';
 
 const ErrorReportingMixinBase = require('./mixin-base');
@@ -180174,7 +180236,7 @@ class ErrorReportingTokenizerMixin extends ErrorReportingMixinBase {
 
 module.exports = ErrorReportingTokenizerMixin;
 
-},{"../../utils/mixin":965,"./mixin-base":947,"./preprocessor-mixin":949}],951:[function(require,module,exports){
+},{"../../utils/mixin":969,"./mixin-base":951,"./preprocessor-mixin":953}],955:[function(require,module,exports){
 'use strict';
 
 const Mixin = require('../../utils/mixin');
@@ -180211,7 +180273,7 @@ class LocationInfoOpenElementStackMixin extends Mixin {
 
 module.exports = LocationInfoOpenElementStackMixin;
 
-},{"../../utils/mixin":965}],952:[function(require,module,exports){
+},{"../../utils/mixin":969}],956:[function(require,module,exports){
 'use strict';
 
 const Mixin = require('../../utils/mixin');
@@ -180436,7 +180498,7 @@ class LocationInfoParserMixin extends Mixin {
 
 module.exports = LocationInfoParserMixin;
 
-},{"../../common/html":945,"../../tokenizer":960,"../../utils/mixin":965,"./open-element-stack-mixin":951,"./tokenizer-mixin":953}],953:[function(require,module,exports){
+},{"../../common/html":949,"../../tokenizer":964,"../../utils/mixin":969,"./open-element-stack-mixin":955,"./tokenizer-mixin":957}],957:[function(require,module,exports){
 'use strict';
 
 const Mixin = require('../../utils/mixin');
@@ -180584,7 +180646,7 @@ class LocationInfoTokenizerMixin extends Mixin {
 
 module.exports = LocationInfoTokenizerMixin;
 
-},{"../../tokenizer":960,"../../utils/mixin":965,"../position-tracking/preprocessor-mixin":954}],954:[function(require,module,exports){
+},{"../../tokenizer":964,"../../utils/mixin":969,"../position-tracking/preprocessor-mixin":958}],958:[function(require,module,exports){
 'use strict';
 
 const Mixin = require('../../utils/mixin');
@@ -180650,7 +180712,7 @@ class PositionTrackingPreprocessorMixin extends Mixin {
 
 module.exports = PositionTrackingPreprocessorMixin;
 
-},{"../../utils/mixin":965}],955:[function(require,module,exports){
+},{"../../utils/mixin":969}],959:[function(require,module,exports){
 'use strict';
 
 const Parser = require('./parser');
@@ -180681,7 +180743,7 @@ exports.serialize = function(node, options) {
     return serializer.serialize();
 };
 
-},{"./parser":957,"./serializer":959}],956:[function(require,module,exports){
+},{"./parser":961,"./serializer":963}],960:[function(require,module,exports){
 'use strict';
 
 //Const
@@ -180864,7 +180926,7 @@ FormattingElementList.ELEMENT_ENTRY = 'ELEMENT_ENTRY';
 
 module.exports = FormattingElementList;
 
-},{}],957:[function(require,module,exports){
+},{}],961:[function(require,module,exports){
 'use strict';
 
 const Tokenizer = require('../tokenizer');
@@ -183822,7 +183884,7 @@ function endTagInForeignContent(p, token) {
     }
 }
 
-},{"../common/doctype":942,"../common/error-codes":943,"../common/foreign-content":944,"../common/html":945,"../common/unicode":946,"../extensions/error-reporting/parser-mixin":948,"../extensions/location-info/parser-mixin":952,"../tokenizer":960,"../tree-adapters/default":963,"../utils/merge-options":964,"../utils/mixin":965,"./formatting-element-list":956,"./open-element-stack":958}],958:[function(require,module,exports){
+},{"../common/doctype":946,"../common/error-codes":947,"../common/foreign-content":948,"../common/html":949,"../common/unicode":950,"../extensions/error-reporting/parser-mixin":952,"../extensions/location-info/parser-mixin":956,"../tokenizer":964,"../tree-adapters/default":967,"../utils/merge-options":968,"../utils/mixin":969,"./formatting-element-list":960,"./open-element-stack":962}],962:[function(require,module,exports){
 'use strict';
 
 const HTML = require('../common/html');
@@ -184306,7 +184368,7 @@ class OpenElementStack {
 
 module.exports = OpenElementStack;
 
-},{"../common/html":945}],959:[function(require,module,exports){
+},{"../common/html":949}],963:[function(require,module,exports){
 'use strict';
 
 const defaultTreeAdapter = require('../tree-adapters/default');
@@ -184484,7 +184546,7 @@ Serializer.escapeString = function(str, attrMode) {
 
 module.exports = Serializer;
 
-},{"../common/doctype":942,"../common/html":945,"../tree-adapters/default":963,"../utils/merge-options":964}],960:[function(require,module,exports){
+},{"../common/doctype":946,"../common/html":949,"../tree-adapters/default":967,"../utils/merge-options":968}],964:[function(require,module,exports){
 'use strict';
 
 const Preprocessor = require('./preprocessor');
@@ -186682,13 +186744,13 @@ Tokenizer.getTokenAttr = function(token, attrName) {
 
 module.exports = Tokenizer;
 
-},{"../common/error-codes":943,"../common/unicode":946,"./named-entity-data":961,"./preprocessor":962}],961:[function(require,module,exports){
+},{"../common/error-codes":947,"../common/unicode":950,"./named-entity-data":965,"./preprocessor":966}],965:[function(require,module,exports){
 'use strict';
 
 //NOTE: this file contains auto-generated array mapped radix tree that is used for the named entity references consumption
 //(details: https://github.com/inikulin/parse5/tree/master/scripts/generate-named-entity-data/README.md)
 module.exports = new Uint16Array([4,52,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,106,303,412,810,1432,1701,1796,1987,2114,2360,2420,2484,3170,3251,4140,4393,4575,4610,5106,5512,5728,6117,6274,6315,6345,6427,6516,7002,7910,8733,9323,9870,10170,10631,10893,11318,11386,11467,12773,13092,14474,14922,15448,15542,16419,17666,18166,18611,19004,19095,19298,19397,4,16,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,140,150,158,169,176,194,199,210,216,222,226,242,256,266,283,294,108,105,103,5,198,1,59,148,1,198,80,5,38,1,59,156,1,38,99,117,116,101,5,193,1,59,167,1,193,114,101,118,101,59,1,258,4,2,105,121,182,191,114,99,5,194,1,59,189,1,194,59,1,1040,114,59,3,55349,56580,114,97,118,101,5,192,1,59,208,1,192,112,104,97,59,1,913,97,99,114,59,1,256,100,59,1,10835,4,2,103,112,232,237,111,110,59,1,260,102,59,3,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,1,8289,105,110,103,5,197,1,59,264,1,197,4,2,99,115,272,277,114,59,3,55349,56476,105,103,110,59,1,8788,105,108,100,101,5,195,1,59,292,1,195,109,108,5,196,1,59,301,1,196,4,8,97,99,101,102,111,114,115,117,321,350,354,383,388,394,400,405,4,2,99,114,327,336,107,115,108,97,115,104,59,1,8726,4,2,118,119,342,345,59,1,10983,101,100,59,1,8966,121,59,1,1041,4,3,99,114,116,362,369,379,97,117,115,101,59,1,8757,110,111,117,108,108,105,115,59,1,8492,97,59,1,914,114,59,3,55349,56581,112,102,59,3,55349,56633,101,118,101,59,1,728,99,114,59,1,8492,109,112,101,113,59,1,8782,4,14,72,79,97,99,100,101,102,104,105,108,111,114,115,117,442,447,456,504,542,547,569,573,577,616,678,784,790,796,99,121,59,1,1063,80,89,5,169,1,59,454,1,169,4,3,99,112,121,464,470,497,117,116,101,59,1,262,4,2,59,105,476,478,1,8914,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,1,8517,108,101,121,115,59,1,8493,4,4,97,101,105,111,514,520,530,535,114,111,110,59,1,268,100,105,108,5,199,1,59,528,1,199,114,99,59,1,264,110,105,110,116,59,1,8752,111,116,59,1,266,4,2,100,110,553,560,105,108,108,97,59,1,184,116,101,114,68,111,116,59,1,183,114,59,1,8493,105,59,1,935,114,99,108,101,4,4,68,77,80,84,591,596,603,609,111,116,59,1,8857,105,110,117,115,59,1,8854,108,117,115,59,1,8853,105,109,101,115,59,1,8855,111,4,2,99,115,623,646,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8754,101,67,117,114,108,121,4,2,68,81,658,671,111,117,98,108,101,81,117,111,116,101,59,1,8221,117,111,116,101,59,1,8217,4,4,108,110,112,117,688,701,736,753,111,110,4,2,59,101,696,698,1,8759,59,1,10868,4,3,103,105,116,709,717,722,114,117,101,110,116,59,1,8801,110,116,59,1,8751,111,117,114,73,110,116,101,103,114,97,108,59,1,8750,4,2,102,114,742,745,59,1,8450,111,100,117,99,116,59,1,8720,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8755,111,115,115,59,1,10799,99,114,59,3,55349,56478,112,4,2,59,67,803,805,1,8915,97,112,59,1,8781,4,11,68,74,83,90,97,99,101,102,105,111,115,834,850,855,860,865,888,903,916,921,1011,1415,4,2,59,111,840,842,1,8517,116,114,97,104,100,59,1,10513,99,121,59,1,1026,99,121,59,1,1029,99,121,59,1,1039,4,3,103,114,115,873,879,883,103,101,114,59,1,8225,114,59,1,8609,104,118,59,1,10980,4,2,97,121,894,900,114,111,110,59,1,270,59,1,1044,108,4,2,59,116,910,912,1,8711,97,59,1,916,114,59,3,55349,56583,4,2,97,102,927,998,4,2,99,109,933,992,114,105,116,105,99,97,108,4,4,65,68,71,84,950,957,978,985,99,117,116,101,59,1,180,111,4,2,116,117,964,967,59,1,729,98,108,101,65,99,117,116,101,59,1,733,114,97,118,101,59,1,96,105,108,100,101,59,1,732,111,110,100,59,1,8900,102,101,114,101,110,116,105,97,108,68,59,1,8518,4,4,112,116,117,119,1021,1026,1048,1249,102,59,3,55349,56635,4,3,59,68,69,1034,1036,1041,1,168,111,116,59,1,8412,113,117,97,108,59,1,8784,98,108,101,4,6,67,68,76,82,85,86,1065,1082,1101,1189,1211,1236,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,1,8751,111,4,2,116,119,1089,1092,59,1,168,110,65,114,114,111,119,59,1,8659,4,2,101,111,1107,1141,102,116,4,3,65,82,84,1117,1124,1136,114,114,111,119,59,1,8656,105,103,104,116,65,114,114,111,119,59,1,8660,101,101,59,1,10980,110,103,4,2,76,82,1149,1177,101,102,116,4,2,65,82,1158,1165,114,114,111,119,59,1,10232,105,103,104,116,65,114,114,111,119,59,1,10234,105,103,104,116,65,114,114,111,119,59,1,10233,105,103,104,116,4,2,65,84,1199,1206,114,114,111,119,59,1,8658,101,101,59,1,8872,112,4,2,65,68,1218,1225,114,114,111,119,59,1,8657,111,119,110,65,114,114,111,119,59,1,8661,101,114,116,105,99,97,108,66,97,114,59,1,8741,110,4,6,65,66,76,82,84,97,1264,1292,1299,1352,1391,1408,114,114,111,119,4,3,59,66,85,1276,1278,1283,1,8595,97,114,59,1,10515,112,65,114,114,111,119,59,1,8693,114,101,118,101,59,1,785,101,102,116,4,3,82,84,86,1310,1323,1334,105,103,104,116,86,101,99,116,111,114,59,1,10576,101,101,86,101,99,116,111,114,59,1,10590,101,99,116,111,114,4,2,59,66,1345,1347,1,8637,97,114,59,1,10582,105,103,104,116,4,2,84,86,1362,1373,101,101,86,101,99,116,111,114,59,1,10591,101,99,116,111,114,4,2,59,66,1384,1386,1,8641,97,114,59,1,10583,101,101,4,2,59,65,1399,1401,1,8868,114,114,111,119,59,1,8615,114,114,111,119,59,1,8659,4,2,99,116,1421,1426,114,59,3,55349,56479,114,111,107,59,1,272,4,16,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1466,1470,1478,1489,1515,1520,1525,1536,1544,1593,1609,1617,1650,1664,1668,1677,71,59,1,330,72,5,208,1,59,1476,1,208,99,117,116,101,5,201,1,59,1487,1,201,4,3,97,105,121,1497,1503,1512,114,111,110,59,1,282,114,99,5,202,1,59,1510,1,202,59,1,1069,111,116,59,1,278,114,59,3,55349,56584,114,97,118,101,5,200,1,59,1534,1,200,101,109,101,110,116,59,1,8712,4,2,97,112,1550,1555,99,114,59,1,274,116,121,4,2,83,86,1563,1576,109,97,108,108,83,113,117,97,114,101,59,1,9723,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9643,4,2,103,112,1599,1604,111,110,59,1,280,102,59,3,55349,56636,115,105,108,111,110,59,1,917,117,4,2,97,105,1624,1640,108,4,2,59,84,1631,1633,1,10869,105,108,100,101,59,1,8770,108,105,98,114,105,117,109,59,1,8652,4,2,99,105,1656,1660,114,59,1,8496,109,59,1,10867,97,59,1,919,109,108,5,203,1,59,1675,1,203,4,2,105,112,1683,1689,115,116,115,59,1,8707,111,110,101,110,116,105,97,108,69,59,1,8519,4,5,99,102,105,111,115,1713,1717,1722,1762,1791,121,59,1,1060,114,59,3,55349,56585,108,108,101,100,4,2,83,86,1732,1745,109,97,108,108,83,113,117,97,114,101,59,1,9724,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,1,9642,4,3,112,114,117,1770,1775,1781,102,59,3,55349,56637,65,108,108,59,1,8704,114,105,101,114,116,114,102,59,1,8497,99,114,59,1,8497,4,12,74,84,97,98,99,100,102,103,111,114,115,116,1822,1827,1834,1848,1855,1877,1882,1887,1890,1896,1978,1984,99,121,59,1,1027,5,62,1,59,1832,1,62,109,109,97,4,2,59,100,1843,1845,1,915,59,1,988,114,101,118,101,59,1,286,4,3,101,105,121,1863,1869,1874,100,105,108,59,1,290,114,99,59,1,284,59,1,1043,111,116,59,1,288,114,59,3,55349,56586,59,1,8921,112,102,59,3,55349,56638,101,97,116,101,114,4,6,69,70,71,76,83,84,1915,1933,1944,1953,1959,1971,113,117,97,108,4,2,59,76,1925,1927,1,8805,101,115,115,59,1,8923,117,108,108,69,113,117,97,108,59,1,8807,114,101,97,116,101,114,59,1,10914,101,115,115,59,1,8823,108,97,110,116,69,113,117,97,108,59,1,10878,105,108,100,101,59,1,8819,99,114,59,3,55349,56482,59,1,8811,4,8,65,97,99,102,105,111,115,117,2005,2012,2026,2032,2036,2049,2073,2089,82,68,99,121,59,1,1066,4,2,99,116,2018,2023,101,107,59,1,711,59,1,94,105,114,99,59,1,292,114,59,1,8460,108,98,101,114,116,83,112,97,99,101,59,1,8459,4,2,112,114,2055,2059,102,59,1,8461,105,122,111,110,116,97,108,76,105,110,101,59,1,9472,4,2,99,116,2079,2083,114,59,1,8459,114,111,107,59,1,294,109,112,4,2,68,69,2097,2107,111,119,110,72,117,109,112,59,1,8782,113,117,97,108,59,1,8783,4,14,69,74,79,97,99,100,102,103,109,110,111,115,116,117,2144,2149,2155,2160,2171,2189,2194,2198,2209,2245,2307,2329,2334,2341,99,121,59,1,1045,108,105,103,59,1,306,99,121,59,1,1025,99,117,116,101,5,205,1,59,2169,1,205,4,2,105,121,2177,2186,114,99,5,206,1,59,2184,1,206,59,1,1048,111,116,59,1,304,114,59,1,8465,114,97,118,101,5,204,1,59,2207,1,204,4,3,59,97,112,2217,2219,2238,1,8465,4,2,99,103,2225,2229,114,59,1,298,105,110,97,114,121,73,59,1,8520,108,105,101,115,59,1,8658,4,2,116,118,2251,2281,4,2,59,101,2257,2259,1,8748,4,2,103,114,2265,2271,114,97,108,59,1,8747,115,101,99,116,105,111,110,59,1,8898,105,115,105,98,108,101,4,2,67,84,2293,2300,111,109,109,97,59,1,8291,105,109,101,115,59,1,8290,4,3,103,112,116,2315,2320,2325,111,110,59,1,302,102,59,3,55349,56640,97,59,1,921,99,114,59,1,8464,105,108,100,101,59,1,296,4,2,107,109,2347,2352,99,121,59,1,1030,108,5,207,1,59,2358,1,207,4,5,99,102,111,115,117,2372,2386,2391,2397,2414,4,2,105,121,2378,2383,114,99,59,1,308,59,1,1049,114,59,3,55349,56589,112,102,59,3,55349,56641,4,2,99,101,2403,2408,114,59,3,55349,56485,114,99,121,59,1,1032,107,99,121,59,1,1028,4,7,72,74,97,99,102,111,115,2436,2441,2446,2452,2467,2472,2478,99,121,59,1,1061,99,121,59,1,1036,112,112,97,59,1,922,4,2,101,121,2458,2464,100,105,108,59,1,310,59,1,1050,114,59,3,55349,56590,112,102,59,3,55349,56642,99,114,59,3,55349,56486,4,11,74,84,97,99,101,102,108,109,111,115,116,2508,2513,2520,2562,2585,2981,2986,3004,3011,3146,3167,99,121,59,1,1033,5,60,1,59,2518,1,60,4,5,99,109,110,112,114,2532,2538,2544,2548,2558,117,116,101,59,1,313,98,100,97,59,1,923,103,59,1,10218,108,97,99,101,116,114,102,59,1,8466,114,59,1,8606,4,3,97,101,121,2570,2576,2582,114,111,110,59,1,317,100,105,108,59,1,315,59,1,1051,4,2,102,115,2591,2907,116,4,10,65,67,68,70,82,84,85,86,97,114,2614,2663,2672,2728,2735,2760,2820,2870,2888,2895,4,2,110,114,2620,2633,103,108,101,66,114,97,99,107,101,116,59,1,10216,114,111,119,4,3,59,66,82,2644,2646,2651,1,8592,97,114,59,1,8676,105,103,104,116,65,114,114,111,119,59,1,8646,101,105,108,105,110,103,59,1,8968,111,4,2,117,119,2679,2692,98,108,101,66,114,97,99,107,101,116,59,1,10214,110,4,2,84,86,2699,2710,101,101,86,101,99,116,111,114,59,1,10593,101,99,116,111,114,4,2,59,66,2721,2723,1,8643,97,114,59,1,10585,108,111,111,114,59,1,8970,105,103,104,116,4,2,65,86,2745,2752,114,114,111,119,59,1,8596,101,99,116,111,114,59,1,10574,4,2,101,114,2766,2792,101,4,3,59,65,86,2775,2777,2784,1,8867,114,114,111,119,59,1,8612,101,99,116,111,114,59,1,10586,105,97,110,103,108,101,4,3,59,66,69,2806,2808,2813,1,8882,97,114,59,1,10703,113,117,97,108,59,1,8884,112,4,3,68,84,86,2829,2841,2852,111,119,110,86,101,99,116,111,114,59,1,10577,101,101,86,101,99,116,111,114,59,1,10592,101,99,116,111,114,4,2,59,66,2863,2865,1,8639,97,114,59,1,10584,101,99,116,111,114,4,2,59,66,2881,2883,1,8636,97,114,59,1,10578,114,114,111,119,59,1,8656,105,103,104,116,97,114,114,111,119,59,1,8660,115,4,6,69,70,71,76,83,84,2922,2936,2947,2956,2962,2974,113,117,97,108,71,114,101,97,116,101,114,59,1,8922,117,108,108,69,113,117,97,108,59,1,8806,114,101,97,116,101,114,59,1,8822,101,115,115,59,1,10913,108,97,110,116,69,113,117,97,108,59,1,10877,105,108,100,101,59,1,8818,114,59,3,55349,56591,4,2,59,101,2992,2994,1,8920,102,116,97,114,114,111,119,59,1,8666,105,100,111,116,59,1,319,4,3,110,112,119,3019,3110,3115,103,4,4,76,82,108,114,3030,3058,3070,3098,101,102,116,4,2,65,82,3039,3046,114,114,111,119,59,1,10229,105,103,104,116,65,114,114,111,119,59,1,10231,105,103,104,116,65,114,114,111,119,59,1,10230,101,102,116,4,2,97,114,3079,3086,114,114,111,119,59,1,10232,105,103,104,116,97,114,114,111,119,59,1,10234,105,103,104,116,97,114,114,111,119,59,1,10233,102,59,3,55349,56643,101,114,4,2,76,82,3123,3134,101,102,116,65,114,114,111,119,59,1,8601,105,103,104,116,65,114,114,111,119,59,1,8600,4,3,99,104,116,3154,3158,3161,114,59,1,8466,59,1,8624,114,111,107,59,1,321,59,1,8810,4,8,97,99,101,102,105,111,115,117,3188,3192,3196,3222,3227,3237,3243,3248,112,59,1,10501,121,59,1,1052,4,2,100,108,3202,3213,105,117,109,83,112,97,99,101,59,1,8287,108,105,110,116,114,102,59,1,8499,114,59,3,55349,56592,110,117,115,80,108,117,115,59,1,8723,112,102,59,3,55349,56644,99,114,59,1,8499,59,1,924,4,9,74,97,99,101,102,111,115,116,117,3271,3276,3283,3306,3422,3427,4120,4126,4137,99,121,59,1,1034,99,117,116,101,59,1,323,4,3,97,101,121,3291,3297,3303,114,111,110,59,1,327,100,105,108,59,1,325,59,1,1053,4,3,103,115,119,3314,3380,3415,97,116,105,118,101,4,3,77,84,86,3327,3340,3365,101,100,105,117,109,83,112,97,99,101,59,1,8203,104,105,4,2,99,110,3348,3357,107,83,112,97,99,101,59,1,8203,83,112,97,99,101,59,1,8203,101,114,121,84,104,105,110,83,112,97,99,101,59,1,8203,116,101,100,4,2,71,76,3389,3405,114,101,97,116,101,114,71,114,101,97,116,101,114,59,1,8811,101,115,115,76,101,115,115,59,1,8810,76,105,110,101,59,1,10,114,59,3,55349,56593,4,4,66,110,112,116,3437,3444,3460,3464,114,101,97,107,59,1,8288,66,114,101,97,107,105,110,103,83,112,97,99,101,59,1,160,102,59,1,8469,4,13,59,67,68,69,71,72,76,78,80,82,83,84,86,3492,3494,3517,3536,3578,3657,3685,3784,3823,3860,3915,4066,4107,1,10988,4,2,111,117,3500,3510,110,103,114,117,101,110,116,59,1,8802,112,67,97,112,59,1,8813,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,1,8742,4,3,108,113,120,3544,3552,3571,101,109,101,110,116,59,1,8713,117,97,108,4,2,59,84,3561,3563,1,8800,105,108,100,101,59,3,8770,824,105,115,116,115,59,1,8708,114,101,97,116,101,114,4,7,59,69,70,71,76,83,84,3600,3602,3609,3621,3631,3637,3650,1,8815,113,117,97,108,59,1,8817,117,108,108,69,113,117,97,108,59,3,8807,824,114,101,97,116,101,114,59,3,8811,824,101,115,115,59,1,8825,108,97,110,116,69,113,117,97,108,59,3,10878,824,105,108,100,101,59,1,8821,117,109,112,4,2,68,69,3666,3677,111,119,110,72,117,109,112,59,3,8782,824,113,117,97,108,59,3,8783,824,101,4,2,102,115,3692,3724,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3709,3711,3717,1,8938,97,114,59,3,10703,824,113,117,97,108,59,1,8940,115,4,6,59,69,71,76,83,84,3739,3741,3748,3757,3764,3777,1,8814,113,117,97,108,59,1,8816,114,101,97,116,101,114,59,1,8824,101,115,115,59,3,8810,824,108,97,110,116,69,113,117,97,108,59,3,10877,824,105,108,100,101,59,1,8820,101,115,116,101,100,4,2,71,76,3795,3812,114,101,97,116,101,114,71,114,101,97,116,101,114,59,3,10914,824,101,115,115,76,101,115,115,59,3,10913,824,114,101,99,101,100,101,115,4,3,59,69,83,3838,3840,3848,1,8832,113,117,97,108,59,3,10927,824,108,97,110,116,69,113,117,97,108,59,1,8928,4,2,101,105,3866,3881,118,101,114,115,101,69,108,101,109,101,110,116,59,1,8716,103,104,116,84,114,105,97,110,103,108,101,4,3,59,66,69,3900,3902,3908,1,8939,97,114,59,3,10704,824,113,117,97,108,59,1,8941,4,2,113,117,3921,3973,117,97,114,101,83,117,4,2,98,112,3933,3952,115,101,116,4,2,59,69,3942,3945,3,8847,824,113,117,97,108,59,1,8930,101,114,115,101,116,4,2,59,69,3963,3966,3,8848,824,113,117,97,108,59,1,8931,4,3,98,99,112,3981,4000,4045,115,101,116,4,2,59,69,3990,3993,3,8834,8402,113,117,97,108,59,1,8840,99,101,101,100,115,4,4,59,69,83,84,4015,4017,4025,4037,1,8833,113,117,97,108,59,3,10928,824,108,97,110,116,69,113,117,97,108,59,1,8929,105,108,100,101,59,3,8831,824,101,114,115,101,116,4,2,59,69,4056,4059,3,8835,8402,113,117,97,108,59,1,8841,105,108,100,101,4,4,59,69,70,84,4080,4082,4089,4100,1,8769,113,117,97,108,59,1,8772,117,108,108,69,113,117,97,108,59,1,8775,105,108,100,101,59,1,8777,101,114,116,105,99,97,108,66,97,114,59,1,8740,99,114,59,3,55349,56489,105,108,100,101,5,209,1,59,4135,1,209,59,1,925,4,14,69,97,99,100,102,103,109,111,112,114,115,116,117,118,4170,4176,4187,4205,4212,4217,4228,4253,4259,4292,4295,4316,4337,4346,108,105,103,59,1,338,99,117,116,101,5,211,1,59,4185,1,211,4,2,105,121,4193,4202,114,99,5,212,1,59,4200,1,212,59,1,1054,98,108,97,99,59,1,336,114,59,3,55349,56594,114,97,118,101,5,210,1,59,4226,1,210,4,3,97,101,105,4236,4241,4246,99,114,59,1,332,103,97,59,1,937,99,114,111,110,59,1,927,112,102,59,3,55349,56646,101,110,67,117,114,108,121,4,2,68,81,4272,4285,111,117,98,108,101,81,117,111,116,101,59,1,8220,117,111,116,101,59,1,8216,59,1,10836,4,2,99,108,4301,4306,114,59,3,55349,56490,97,115,104,5,216,1,59,4314,1,216,105,4,2,108,109,4323,4332,100,101,5,213,1,59,4330,1,213,101,115,59,1,10807,109,108,5,214,1,59,4344,1,214,101,114,4,2,66,80,4354,4380,4,2,97,114,4360,4364,114,59,1,8254,97,99,4,2,101,107,4372,4375,59,1,9182,101,116,59,1,9140,97,114,101,110,116,104,101,115,105,115,59,1,9180,4,9,97,99,102,104,105,108,111,114,115,4413,4422,4426,4431,4435,4438,4448,4471,4561,114,116,105,97,108,68,59,1,8706,121,59,1,1055,114,59,3,55349,56595,105,59,1,934,59,1,928,117,115,77,105,110,117,115,59,1,177,4,2,105,112,4454,4467,110,99,97,114,101,112,108,97,110,101,59,1,8460,102,59,1,8473,4,4,59,101,105,111,4481,4483,4526,4531,1,10939,99,101,100,101,115,4,4,59,69,83,84,4498,4500,4507,4519,1,8826,113,117,97,108,59,1,10927,108,97,110,116,69,113,117,97,108,59,1,8828,105,108,100,101,59,1,8830,109,101,59,1,8243,4,2,100,112,4537,4543,117,99,116,59,1,8719,111,114,116,105,111,110,4,2,59,97,4555,4557,1,8759,108,59,1,8733,4,2,99,105,4567,4572,114,59,3,55349,56491,59,1,936,4,4,85,102,111,115,4585,4594,4599,4604,79,84,5,34,1,59,4592,1,34,114,59,3,55349,56596,112,102,59,1,8474,99,114,59,3,55349,56492,4,12,66,69,97,99,101,102,104,105,111,114,115,117,4636,4642,4650,4681,4704,4763,4767,4771,5047,5069,5081,5094,97,114,114,59,1,10512,71,5,174,1,59,4648,1,174,4,3,99,110,114,4658,4664,4668,117,116,101,59,1,340,103,59,1,10219,114,4,2,59,116,4675,4677,1,8608,108,59,1,10518,4,3,97,101,121,4689,4695,4701,114,111,110,59,1,344,100,105,108,59,1,342,59,1,1056,4,2,59,118,4710,4712,1,8476,101,114,115,101,4,2,69,85,4722,4748,4,2,108,113,4728,4736,101,109,101,110,116,59,1,8715,117,105,108,105,98,114,105,117,109,59,1,8651,112,69,113,117,105,108,105,98,114,105,117,109,59,1,10607,114,59,1,8476,111,59,1,929,103,104,116,4,8,65,67,68,70,84,85,86,97,4792,4840,4849,4905,4912,4972,5022,5040,4,2,110,114,4798,4811,103,108,101,66,114,97,99,107,101,116,59,1,10217,114,111,119,4,3,59,66,76,4822,4824,4829,1,8594,97,114,59,1,8677,101,102,116,65,114,114,111,119,59,1,8644,101,105,108,105,110,103,59,1,8969,111,4,2,117,119,4856,4869,98,108,101,66,114,97,99,107,101,116,59,1,10215,110,4,2,84,86,4876,4887,101,101,86,101,99,116,111,114,59,1,10589,101,99,116,111,114,4,2,59,66,4898,4900,1,8642,97,114,59,1,10581,108,111,111,114,59,1,8971,4,2,101,114,4918,4944,101,4,3,59,65,86,4927,4929,4936,1,8866,114,114,111,119,59,1,8614,101,99,116,111,114,59,1,10587,105,97,110,103,108,101,4,3,59,66,69,4958,4960,4965,1,8883,97,114,59,1,10704,113,117,97,108,59,1,8885,112,4,3,68,84,86,4981,4993,5004,111,119,110,86,101,99,116,111,114,59,1,10575,101,101,86,101,99,116,111,114,59,1,10588,101,99,116,111,114,4,2,59,66,5015,5017,1,8638,97,114,59,1,10580,101,99,116,111,114,4,2,59,66,5033,5035,1,8640,97,114,59,1,10579,114,114,111,119,59,1,8658,4,2,112,117,5053,5057,102,59,1,8477,110,100,73,109,112,108,105,101,115,59,1,10608,105,103,104,116,97,114,114,111,119,59,1,8667,4,2,99,104,5087,5091,114,59,1,8475,59,1,8625,108,101,68,101,108,97,121,101,100,59,1,10740,4,13,72,79,97,99,102,104,105,109,111,113,115,116,117,5134,5150,5157,5164,5198,5203,5259,5265,5277,5283,5374,5380,5385,4,2,67,99,5140,5146,72,99,121,59,1,1065,121,59,1,1064,70,84,99,121,59,1,1068,99,117,116,101,59,1,346,4,5,59,97,101,105,121,5176,5178,5184,5190,5195,1,10940,114,111,110,59,1,352,100,105,108,59,1,350,114,99,59,1,348,59,1,1057,114,59,3,55349,56598,111,114,116,4,4,68,76,82,85,5216,5227,5238,5250,111,119,110,65,114,114,111,119,59,1,8595,101,102,116,65,114,114,111,119,59,1,8592,105,103,104,116,65,114,114,111,119,59,1,8594,112,65,114,114,111,119,59,1,8593,103,109,97,59,1,931,97,108,108,67,105,114,99,108,101,59,1,8728,112,102,59,3,55349,56650,4,2,114,117,5289,5293,116,59,1,8730,97,114,101,4,4,59,73,83,85,5306,5308,5322,5367,1,9633,110,116,101,114,115,101,99,116,105,111,110,59,1,8851,117,4,2,98,112,5329,5347,115,101,116,4,2,59,69,5338,5340,1,8847,113,117,97,108,59,1,8849,101,114,115,101,116,4,2,59,69,5358,5360,1,8848,113,117,97,108,59,1,8850,110,105,111,110,59,1,8852,99,114,59,3,55349,56494,97,114,59,1,8902,4,4,98,99,109,112,5395,5420,5475,5478,4,2,59,115,5401,5403,1,8912,101,116,4,2,59,69,5411,5413,1,8912,113,117,97,108,59,1,8838,4,2,99,104,5426,5468,101,101,100,115,4,4,59,69,83,84,5440,5442,5449,5461,1,8827,113,117,97,108,59,1,10928,108,97,110,116,69,113,117,97,108,59,1,8829,105,108,100,101,59,1,8831,84,104,97,116,59,1,8715,59,1,8721,4,3,59,101,115,5486,5488,5507,1,8913,114,115,101,116,4,2,59,69,5498,5500,1,8835,113,117,97,108,59,1,8839,101,116,59,1,8913,4,11,72,82,83,97,99,102,104,105,111,114,115,5536,5546,5552,5567,5579,5602,5607,5655,5695,5701,5711,79,82,78,5,222,1,59,5544,1,222,65,68,69,59,1,8482,4,2,72,99,5558,5563,99,121,59,1,1035,121,59,1,1062,4,2,98,117,5573,5576,59,1,9,59,1,932,4,3,97,101,121,5587,5593,5599,114,111,110,59,1,356,100,105,108,59,1,354,59,1,1058,114,59,3,55349,56599,4,2,101,105,5613,5631,4,2,114,116,5619,5627,101,102,111,114,101,59,1,8756,97,59,1,920,4,2,99,110,5637,5647,107,83,112,97,99,101,59,3,8287,8202,83,112,97,99,101,59,1,8201,108,100,101,4,4,59,69,70,84,5668,5670,5677,5688,1,8764,113,117,97,108,59,1,8771,117,108,108,69,113,117,97,108,59,1,8773,105,108,100,101,59,1,8776,112,102,59,3,55349,56651,105,112,108,101,68,111,116,59,1,8411,4,2,99,116,5717,5722,114,59,3,55349,56495,114,111,107,59,1,358,4,14,97,98,99,100,102,103,109,110,111,112,114,115,116,117,5758,5789,5805,5823,5830,5835,5846,5852,5921,5937,6089,6095,6101,6108,4,2,99,114,5764,5774,117,116,101,5,218,1,59,5772,1,218,114,4,2,59,111,5781,5783,1,8607,99,105,114,59,1,10569,114,4,2,99,101,5796,5800,121,59,1,1038,118,101,59,1,364,4,2,105,121,5811,5820,114,99,5,219,1,59,5818,1,219,59,1,1059,98,108,97,99,59,1,368,114,59,3,55349,56600,114,97,118,101,5,217,1,59,5844,1,217,97,99,114,59,1,362,4,2,100,105,5858,5905,101,114,4,2,66,80,5866,5892,4,2,97,114,5872,5876,114,59,1,95,97,99,4,2,101,107,5884,5887,59,1,9183,101,116,59,1,9141,97,114,101,110,116,104,101,115,105,115,59,1,9181,111,110,4,2,59,80,5913,5915,1,8899,108,117,115,59,1,8846,4,2,103,112,5927,5932,111,110,59,1,370,102,59,3,55349,56652,4,8,65,68,69,84,97,100,112,115,5955,5985,5996,6009,6026,6033,6044,6075,114,114,111,119,4,3,59,66,68,5967,5969,5974,1,8593,97,114,59,1,10514,111,119,110,65,114,114,111,119,59,1,8645,111,119,110,65,114,114,111,119,59,1,8597,113,117,105,108,105,98,114,105,117,109,59,1,10606,101,101,4,2,59,65,6017,6019,1,8869,114,114,111,119,59,1,8613,114,114,111,119,59,1,8657,111,119,110,97,114,114,111,119,59,1,8661,101,114,4,2,76,82,6052,6063,101,102,116,65,114,114,111,119,59,1,8598,105,103,104,116,65,114,114,111,119,59,1,8599,105,4,2,59,108,6082,6084,1,978,111,110,59,1,933,105,110,103,59,1,366,99,114,59,3,55349,56496,105,108,100,101,59,1,360,109,108,5,220,1,59,6115,1,220,4,9,68,98,99,100,101,102,111,115,118,6137,6143,6148,6152,6166,6250,6255,6261,6267,97,115,104,59,1,8875,97,114,59,1,10987,121,59,1,1042,97,115,104,4,2,59,108,6161,6163,1,8873,59,1,10982,4,2,101,114,6172,6175,59,1,8897,4,3,98,116,121,6183,6188,6238,97,114,59,1,8214,4,2,59,105,6194,6196,1,8214,99,97,108,4,4,66,76,83,84,6209,6214,6220,6231,97,114,59,1,8739,105,110,101,59,1,124,101,112,97,114,97,116,111,114,59,1,10072,105,108,100,101,59,1,8768,84,104,105,110,83,112,97,99,101,59,1,8202,114,59,3,55349,56601,112,102,59,3,55349,56653,99,114,59,3,55349,56497,100,97,115,104,59,1,8874,4,5,99,101,102,111,115,6286,6292,6298,6303,6309,105,114,99,59,1,372,100,103,101,59,1,8896,114,59,3,55349,56602,112,102,59,3,55349,56654,99,114,59,3,55349,56498,4,4,102,105,111,115,6325,6330,6333,6339,114,59,3,55349,56603,59,1,926,112,102,59,3,55349,56655,99,114,59,3,55349,56499,4,9,65,73,85,97,99,102,111,115,117,6365,6370,6375,6380,6391,6405,6410,6416,6422,99,121,59,1,1071,99,121,59,1,1031,99,121,59,1,1070,99,117,116,101,5,221,1,59,6389,1,221,4,2,105,121,6397,6402,114,99,59,1,374,59,1,1067,114,59,3,55349,56604,112,102,59,3,55349,56656,99,114,59,3,55349,56500,109,108,59,1,376,4,8,72,97,99,100,101,102,111,115,6445,6450,6457,6472,6477,6501,6505,6510,99,121,59,1,1046,99,117,116,101,59,1,377,4,2,97,121,6463,6469,114,111,110,59,1,381,59,1,1047,111,116,59,1,379,4,2,114,116,6483,6497,111,87,105,100,116,104,83,112,97,99,101,59,1,8203,97,59,1,918,114,59,1,8488,112,102,59,1,8484,99,114,59,3,55349,56501,4,16,97,98,99,101,102,103,108,109,110,111,112,114,115,116,117,119,6550,6561,6568,6612,6622,6634,6645,6672,6699,6854,6870,6923,6933,6963,6974,6983,99,117,116,101,5,225,1,59,6559,1,225,114,101,118,101,59,1,259,4,6,59,69,100,105,117,121,6582,6584,6588,6591,6600,6609,1,8766,59,3,8766,819,59,1,8767,114,99,5,226,1,59,6598,1,226,116,101,5,180,1,59,6607,1,180,59,1,1072,108,105,103,5,230,1,59,6620,1,230,4,2,59,114,6628,6630,1,8289,59,3,55349,56606,114,97,118,101,5,224,1,59,6643,1,224,4,2,101,112,6651,6667,4,2,102,112,6657,6663,115,121,109,59,1,8501,104,59,1,8501,104,97,59,1,945,4,2,97,112,6678,6692,4,2,99,108,6684,6688,114,59,1,257,103,59,1,10815,5,38,1,59,6697,1,38,4,2,100,103,6705,6737,4,5,59,97,100,115,118,6717,6719,6724,6727,6734,1,8743,110,100,59,1,10837,59,1,10844,108,111,112,101,59,1,10840,59,1,10842,4,7,59,101,108,109,114,115,122,6753,6755,6758,6762,6814,6835,6848,1,8736,59,1,10660,101,59,1,8736,115,100,4,2,59,97,6770,6772,1,8737,4,8,97,98,99,100,101,102,103,104,6790,6793,6796,6799,6802,6805,6808,6811,59,1,10664,59,1,10665,59,1,10666,59,1,10667,59,1,10668,59,1,10669,59,1,10670,59,1,10671,116,4,2,59,118,6821,6823,1,8735,98,4,2,59,100,6830,6832,1,8894,59,1,10653,4,2,112,116,6841,6845,104,59,1,8738,59,1,197,97,114,114,59,1,9084,4,2,103,112,6860,6865,111,110,59,1,261,102,59,3,55349,56658,4,7,59,69,97,101,105,111,112,6886,6888,6891,6897,6900,6904,6908,1,8776,59,1,10864,99,105,114,59,1,10863,59,1,8778,100,59,1,8779,115,59,1,39,114,111,120,4,2,59,101,6917,6919,1,8776,113,59,1,8778,105,110,103,5,229,1,59,6931,1,229,4,3,99,116,121,6941,6946,6949,114,59,3,55349,56502,59,1,42,109,112,4,2,59,101,6957,6959,1,8776,113,59,1,8781,105,108,100,101,5,227,1,59,6972,1,227,109,108,5,228,1,59,6981,1,228,4,2,99,105,6989,6997,111,110,105,110,116,59,1,8755,110,116,59,1,10769,4,16,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,7036,7041,7119,7135,7149,7155,7219,7224,7347,7354,7463,7489,7786,7793,7814,7866,111,116,59,1,10989,4,2,99,114,7047,7094,107,4,4,99,101,112,115,7058,7064,7073,7080,111,110,103,59,1,8780,112,115,105,108,111,110,59,1,1014,114,105,109,101,59,1,8245,105,109,4,2,59,101,7088,7090,1,8765,113,59,1,8909,4,2,118,119,7100,7105,101,101,59,1,8893,101,100,4,2,59,103,7113,7115,1,8965,101,59,1,8965,114,107,4,2,59,116,7127,7129,1,9141,98,114,107,59,1,9142,4,2,111,121,7141,7146,110,103,59,1,8780,59,1,1073,113,117,111,59,1,8222,4,5,99,109,112,114,116,7167,7181,7188,7193,7199,97,117,115,4,2,59,101,7176,7178,1,8757,59,1,8757,112,116,121,118,59,1,10672,115,105,59,1,1014,110,111,117,59,1,8492,4,3,97,104,119,7207,7210,7213,59,1,946,59,1,8502,101,101,110,59,1,8812,114,59,3,55349,56607,103,4,7,99,111,115,116,117,118,119,7241,7262,7288,7305,7328,7335,7340,4,3,97,105,117,7249,7253,7258,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,4,3,100,112,116,7270,7275,7281,111,116,59,1,10752,108,117,115,59,1,10753,105,109,101,115,59,1,10754,4,2,113,116,7294,7300,99,117,112,59,1,10758,97,114,59,1,9733,114,105,97,110,103,108,101,4,2,100,117,7318,7324,111,119,110,59,1,9661,112,59,1,9651,112,108,117,115,59,1,10756,101,101,59,1,8897,101,100,103,101,59,1,8896,97,114,111,119,59,1,10509,4,3,97,107,111,7362,7436,7458,4,2,99,110,7368,7432,107,4,3,108,115,116,7377,7386,7394,111,122,101,110,103,101,59,1,10731,113,117,97,114,101,59,1,9642,114,105,97,110,103,108,101,4,4,59,100,108,114,7411,7413,7419,7425,1,9652,111,119,110,59,1,9662,101,102,116,59,1,9666,105,103,104,116,59,1,9656,107,59,1,9251,4,2,49,51,7442,7454,4,2,50,52,7448,7451,59,1,9618,59,1,9617,52,59,1,9619,99,107,59,1,9608,4,2,101,111,7469,7485,4,2,59,113,7475,7478,3,61,8421,117,105,118,59,3,8801,8421,116,59,1,8976,4,4,112,116,119,120,7499,7504,7517,7523,102,59,3,55349,56659,4,2,59,116,7510,7512,1,8869,111,109,59,1,8869,116,105,101,59,1,8904,4,12,68,72,85,86,98,100,104,109,112,116,117,118,7549,7571,7597,7619,7655,7660,7682,7708,7715,7721,7728,7750,4,4,76,82,108,114,7559,7562,7565,7568,59,1,9559,59,1,9556,59,1,9558,59,1,9555,4,5,59,68,85,100,117,7583,7585,7588,7591,7594,1,9552,59,1,9574,59,1,9577,59,1,9572,59,1,9575,4,4,76,82,108,114,7607,7610,7613,7616,59,1,9565,59,1,9562,59,1,9564,59,1,9561,4,7,59,72,76,82,104,108,114,7635,7637,7640,7643,7646,7649,7652,1,9553,59,1,9580,59,1,9571,59,1,9568,59,1,9579,59,1,9570,59,1,9567,111,120,59,1,10697,4,4,76,82,108,114,7670,7673,7676,7679,59,1,9557,59,1,9554,59,1,9488,59,1,9484,4,5,59,68,85,100,117,7694,7696,7699,7702,7705,1,9472,59,1,9573,59,1,9576,59,1,9516,59,1,9524,105,110,117,115,59,1,8863,108,117,115,59,1,8862,105,109,101,115,59,1,8864,4,4,76,82,108,114,7738,7741,7744,7747,59,1,9563,59,1,9560,59,1,9496,59,1,9492,4,7,59,72,76,82,104,108,114,7766,7768,7771,7774,7777,7780,7783,1,9474,59,1,9578,59,1,9569,59,1,9566,59,1,9532,59,1,9508,59,1,9500,114,105,109,101,59,1,8245,4,2,101,118,7799,7804,118,101,59,1,728,98,97,114,5,166,1,59,7812,1,166,4,4,99,101,105,111,7824,7829,7834,7846,114,59,3,55349,56503,109,105,59,1,8271,109,4,2,59,101,7841,7843,1,8765,59,1,8909,108,4,3,59,98,104,7855,7857,7860,1,92,59,1,10693,115,117,98,59,1,10184,4,2,108,109,7872,7885,108,4,2,59,101,7879,7881,1,8226,116,59,1,8226,112,4,3,59,69,101,7894,7896,7899,1,8782,59,1,10926,4,2,59,113,7905,7907,1,8783,59,1,8783,4,15,97,99,100,101,102,104,105,108,111,114,115,116,117,119,121,7942,8021,8075,8080,8121,8126,8157,8279,8295,8430,8446,8485,8491,8707,8726,4,3,99,112,114,7950,7956,8007,117,116,101,59,1,263,4,6,59,97,98,99,100,115,7970,7972,7977,7984,7998,8003,1,8745,110,100,59,1,10820,114,99,117,112,59,1,10825,4,2,97,117,7990,7994,112,59,1,10827,112,59,1,10823,111,116,59,1,10816,59,3,8745,65024,4,2,101,111,8013,8017,116,59,1,8257,110,59,1,711,4,4,97,101,105,117,8031,8046,8056,8061,4,2,112,114,8037,8041,115,59,1,10829,111,110,59,1,269,100,105,108,5,231,1,59,8054,1,231,114,99,59,1,265,112,115,4,2,59,115,8069,8071,1,10828,109,59,1,10832,111,116,59,1,267,4,3,100,109,110,8088,8097,8104,105,108,5,184,1,59,8095,1,184,112,116,121,118,59,1,10674,116,5,162,2,59,101,8112,8114,1,162,114,100,111,116,59,1,183,114,59,3,55349,56608,4,3,99,101,105,8134,8138,8154,121,59,1,1095,99,107,4,2,59,109,8146,8148,1,10003,97,114,107,59,1,10003,59,1,967,114,4,7,59,69,99,101,102,109,115,8174,8176,8179,8258,8261,8268,8273,1,9675,59,1,10691,4,3,59,101,108,8187,8189,8193,1,710,113,59,1,8791,101,4,2,97,100,8200,8223,114,114,111,119,4,2,108,114,8210,8216,101,102,116,59,1,8634,105,103,104,116,59,1,8635,4,5,82,83,97,99,100,8235,8238,8241,8246,8252,59,1,174,59,1,9416,115,116,59,1,8859,105,114,99,59,1,8858,97,115,104,59,1,8861,59,1,8791,110,105,110,116,59,1,10768,105,100,59,1,10991,99,105,114,59,1,10690,117,98,115,4,2,59,117,8288,8290,1,9827,105,116,59,1,9827,4,4,108,109,110,112,8305,8326,8376,8400,111,110,4,2,59,101,8313,8315,1,58,4,2,59,113,8321,8323,1,8788,59,1,8788,4,2,109,112,8332,8344,97,4,2,59,116,8339,8341,1,44,59,1,64,4,3,59,102,108,8352,8354,8358,1,8705,110,59,1,8728,101,4,2,109,120,8365,8371,101,110,116,59,1,8705,101,115,59,1,8450,4,2,103,105,8382,8395,4,2,59,100,8388,8390,1,8773,111,116,59,1,10861,110,116,59,1,8750,4,3,102,114,121,8408,8412,8417,59,3,55349,56660,111,100,59,1,8720,5,169,2,59,115,8424,8426,1,169,114,59,1,8471,4,2,97,111,8436,8441,114,114,59,1,8629,115,115,59,1,10007,4,2,99,117,8452,8457,114,59,3,55349,56504,4,2,98,112,8463,8474,4,2,59,101,8469,8471,1,10959,59,1,10961,4,2,59,101,8480,8482,1,10960,59,1,10962,100,111,116,59,1,8943,4,7,100,101,108,112,114,118,119,8507,8522,8536,8550,8600,8697,8702,97,114,114,4,2,108,114,8516,8519,59,1,10552,59,1,10549,4,2,112,115,8528,8532,114,59,1,8926,99,59,1,8927,97,114,114,4,2,59,112,8545,8547,1,8630,59,1,10557,4,6,59,98,99,100,111,115,8564,8566,8573,8587,8592,8596,1,8746,114,99,97,112,59,1,10824,4,2,97,117,8579,8583,112,59,1,10822,112,59,1,10826,111,116,59,1,8845,114,59,1,10821,59,3,8746,65024,4,4,97,108,114,118,8610,8623,8663,8672,114,114,4,2,59,109,8618,8620,1,8631,59,1,10556,121,4,3,101,118,119,8632,8651,8656,113,4,2,112,115,8639,8645,114,101,99,59,1,8926,117,99,99,59,1,8927,101,101,59,1,8910,101,100,103,101,59,1,8911,101,110,5,164,1,59,8670,1,164,101,97,114,114,111,119,4,2,108,114,8684,8690,101,102,116,59,1,8630,105,103,104,116,59,1,8631,101,101,59,1,8910,101,100,59,1,8911,4,2,99,105,8713,8721,111,110,105,110,116,59,1,8754,110,116,59,1,8753,108,99,116,121,59,1,9005,4,19,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,8773,8778,8783,8821,8839,8854,8887,8914,8930,8944,9036,9041,9058,9197,9227,9258,9281,9297,9305,114,114,59,1,8659,97,114,59,1,10597,4,4,103,108,114,115,8793,8799,8805,8809,103,101,114,59,1,8224,101,116,104,59,1,8504,114,59,1,8595,104,4,2,59,118,8816,8818,1,8208,59,1,8867,4,2,107,108,8827,8834,97,114,111,119,59,1,10511,97,99,59,1,733,4,2,97,121,8845,8851,114,111,110,59,1,271,59,1,1076,4,3,59,97,111,8862,8864,8880,1,8518,4,2,103,114,8870,8876,103,101,114,59,1,8225,114,59,1,8650,116,115,101,113,59,1,10871,4,3,103,108,109,8895,8902,8907,5,176,1,59,8900,1,176,116,97,59,1,948,112,116,121,118,59,1,10673,4,2,105,114,8920,8926,115,104,116,59,1,10623,59,3,55349,56609,97,114,4,2,108,114,8938,8941,59,1,8643,59,1,8642,4,5,97,101,103,115,118,8956,8986,8989,8996,9001,109,4,3,59,111,115,8965,8967,8983,1,8900,110,100,4,2,59,115,8975,8977,1,8900,117,105,116,59,1,9830,59,1,9830,59,1,168,97,109,109,97,59,1,989,105,110,59,1,8946,4,3,59,105,111,9009,9011,9031,1,247,100,101,5,247,2,59,111,9020,9022,1,247,110,116,105,109,101,115,59,1,8903,110,120,59,1,8903,99,121,59,1,1106,99,4,2,111,114,9048,9053,114,110,59,1,8990,111,112,59,1,8973,4,5,108,112,116,117,119,9070,9076,9081,9130,9144,108,97,114,59,1,36,102,59,3,55349,56661,4,5,59,101,109,112,115,9093,9095,9109,9116,9122,1,729,113,4,2,59,100,9102,9104,1,8784,111,116,59,1,8785,105,110,117,115,59,1,8760,108,117,115,59,1,8724,113,117,97,114,101,59,1,8865,98,108,101,98,97,114,119,101,100,103,101,59,1,8966,110,4,3,97,100,104,9153,9160,9172,114,114,111,119,59,1,8595,111,119,110,97,114,114,111,119,115,59,1,8650,97,114,112,111,111,110,4,2,108,114,9184,9190,101,102,116,59,1,8643,105,103,104,116,59,1,8642,4,2,98,99,9203,9211,107,97,114,111,119,59,1,10512,4,2,111,114,9217,9222,114,110,59,1,8991,111,112,59,1,8972,4,3,99,111,116,9235,9248,9252,4,2,114,121,9241,9245,59,3,55349,56505,59,1,1109,108,59,1,10742,114,111,107,59,1,273,4,2,100,114,9264,9269,111,116,59,1,8945,105,4,2,59,102,9276,9278,1,9663,59,1,9662,4,2,97,104,9287,9292,114,114,59,1,8693,97,114,59,1,10607,97,110,103,108,101,59,1,10662,4,2,99,105,9311,9315,121,59,1,1119,103,114,97,114,114,59,1,10239,4,18,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,9361,9376,9398,9439,9444,9447,9462,9495,9531,9585,9598,9614,9659,9755,9771,9792,9808,9826,4,2,68,111,9367,9372,111,116,59,1,10871,116,59,1,8785,4,2,99,115,9382,9392,117,116,101,5,233,1,59,9390,1,233,116,101,114,59,1,10862,4,4,97,105,111,121,9408,9414,9430,9436,114,111,110,59,1,283,114,4,2,59,99,9421,9423,1,8790,5,234,1,59,9428,1,234,108,111,110,59,1,8789,59,1,1101,111,116,59,1,279,59,1,8519,4,2,68,114,9453,9458,111,116,59,1,8786,59,3,55349,56610,4,3,59,114,115,9470,9472,9482,1,10906,97,118,101,5,232,1,59,9480,1,232,4,2,59,100,9488,9490,1,10902,111,116,59,1,10904,4,4,59,105,108,115,9505,9507,9515,9518,1,10905,110,116,101,114,115,59,1,9191,59,1,8467,4,2,59,100,9524,9526,1,10901,111,116,59,1,10903,4,3,97,112,115,9539,9544,9564,99,114,59,1,275,116,121,4,3,59,115,118,9554,9556,9561,1,8709,101,116,59,1,8709,59,1,8709,112,4,2,49,59,9571,9583,4,2,51,52,9577,9580,59,1,8196,59,1,8197,1,8195,4,2,103,115,9591,9594,59,1,331,112,59,1,8194,4,2,103,112,9604,9609,111,110,59,1,281,102,59,3,55349,56662,4,3,97,108,115,9622,9635,9640,114,4,2,59,115,9629,9631,1,8917,108,59,1,10723,117,115,59,1,10865,105,4,3,59,108,118,9649,9651,9656,1,949,111,110,59,1,949,59,1,1013,4,4,99,115,117,118,9669,9686,9716,9747,4,2,105,111,9675,9680,114,99,59,1,8790,108,111,110,59,1,8789,4,2,105,108,9692,9696,109,59,1,8770,97,110,116,4,2,103,108,9705,9710,116,114,59,1,10902,101,115,115,59,1,10901,4,3,97,101,105,9724,9729,9734,108,115,59,1,61,115,116,59,1,8799,118,4,2,59,68,9741,9743,1,8801,68,59,1,10872,112,97,114,115,108,59,1,10725,4,2,68,97,9761,9766,111,116,59,1,8787,114,114,59,1,10609,4,3,99,100,105,9779,9783,9788,114,59,1,8495,111,116,59,1,8784,109,59,1,8770,4,2,97,104,9798,9801,59,1,951,5,240,1,59,9806,1,240,4,2,109,114,9814,9822,108,5,235,1,59,9820,1,235,111,59,1,8364,4,3,99,105,112,9834,9838,9843,108,59,1,33,115,116,59,1,8707,4,2,101,111,9849,9859,99,116,97,116,105,111,110,59,1,8496,110,101,110,116,105,97,108,101,59,1,8519,4,12,97,99,101,102,105,106,108,110,111,112,114,115,9896,9910,9914,9921,9954,9960,9967,9989,9994,10027,10036,10164,108,108,105,110,103,100,111,116,115,101,113,59,1,8786,121,59,1,1092,109,97,108,101,59,1,9792,4,3,105,108,114,9929,9935,9950,108,105,103,59,1,64259,4,2,105,108,9941,9945,103,59,1,64256,105,103,59,1,64260,59,3,55349,56611,108,105,103,59,1,64257,108,105,103,59,3,102,106,4,3,97,108,116,9975,9979,9984,116,59,1,9837,105,103,59,1,64258,110,115,59,1,9649,111,102,59,1,402,4,2,112,114,10000,10005,102,59,3,55349,56663,4,2,97,107,10011,10016,108,108,59,1,8704,4,2,59,118,10022,10024,1,8916,59,1,10969,97,114,116,105,110,116,59,1,10765,4,2,97,111,10042,10159,4,2,99,115,10048,10155,4,6,49,50,51,52,53,55,10062,10102,10114,10135,10139,10151,4,6,50,51,52,53,54,56,10076,10083,10086,10093,10096,10099,5,189,1,59,10081,1,189,59,1,8531,5,188,1,59,10091,1,188,59,1,8533,59,1,8537,59,1,8539,4,2,51,53,10108,10111,59,1,8532,59,1,8534,4,3,52,53,56,10122,10129,10132,5,190,1,59,10127,1,190,59,1,8535,59,1,8540,53,59,1,8536,4,2,54,56,10145,10148,59,1,8538,59,1,8541,56,59,1,8542,108,59,1,8260,119,110,59,1,8994,99,114,59,3,55349,56507,4,17,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,10206,10217,10247,10254,10268,10273,10358,10363,10374,10380,10385,10406,10458,10464,10470,10497,10610,4,2,59,108,10212,10214,1,8807,59,1,10892,4,3,99,109,112,10225,10231,10244,117,116,101,59,1,501,109,97,4,2,59,100,10239,10241,1,947,59,1,989,59,1,10886,114,101,118,101,59,1,287,4,2,105,121,10260,10265,114,99,59,1,285,59,1,1075,111,116,59,1,289,4,4,59,108,113,115,10283,10285,10288,10308,1,8805,59,1,8923,4,3,59,113,115,10296,10298,10301,1,8805,59,1,8807,108,97,110,116,59,1,10878,4,4,59,99,100,108,10318,10320,10324,10345,1,10878,99,59,1,10921,111,116,4,2,59,111,10332,10334,1,10880,4,2,59,108,10340,10342,1,10882,59,1,10884,4,2,59,101,10351,10354,3,8923,65024,115,59,1,10900,114,59,3,55349,56612,4,2,59,103,10369,10371,1,8811,59,1,8921,109,101,108,59,1,8503,99,121,59,1,1107,4,4,59,69,97,106,10395,10397,10400,10403,1,8823,59,1,10898,59,1,10917,59,1,10916,4,4,69,97,101,115,10416,10419,10434,10453,59,1,8809,112,4,2,59,112,10426,10428,1,10890,114,111,120,59,1,10890,4,2,59,113,10440,10442,1,10888,4,2,59,113,10448,10450,1,10888,59,1,8809,105,109,59,1,8935,112,102,59,3,55349,56664,97,118,101,59,1,96,4,2,99,105,10476,10480,114,59,1,8458,109,4,3,59,101,108,10489,10491,10494,1,8819,59,1,10894,59,1,10896,5,62,6,59,99,100,108,113,114,10512,10514,10527,10532,10538,10545,1,62,4,2,99,105,10520,10523,59,1,10919,114,59,1,10874,111,116,59,1,8919,80,97,114,59,1,10645,117,101,115,116,59,1,10876,4,5,97,100,101,108,115,10557,10574,10579,10599,10605,4,2,112,114,10563,10570,112,114,111,120,59,1,10886,114,59,1,10616,111,116,59,1,8919,113,4,2,108,113,10586,10592,101,115,115,59,1,8923,108,101,115,115,59,1,10892,101,115,115,59,1,8823,105,109,59,1,8819,4,2,101,110,10616,10626,114,116,110,101,113,113,59,3,8809,65024,69,59,3,8809,65024,4,10,65,97,98,99,101,102,107,111,115,121,10653,10658,10713,10718,10724,10760,10765,10786,10850,10875,114,114,59,1,8660,4,4,105,108,109,114,10668,10674,10678,10684,114,115,112,59,1,8202,102,59,1,189,105,108,116,59,1,8459,4,2,100,114,10690,10695,99,121,59,1,1098,4,3,59,99,119,10703,10705,10710,1,8596,105,114,59,1,10568,59,1,8621,97,114,59,1,8463,105,114,99,59,1,293,4,3,97,108,114,10732,10748,10754,114,116,115,4,2,59,117,10741,10743,1,9829,105,116,59,1,9829,108,105,112,59,1,8230,99,111,110,59,1,8889,114,59,3,55349,56613,115,4,2,101,119,10772,10779,97,114,111,119,59,1,10533,97,114,111,119,59,1,10534,4,5,97,109,111,112,114,10798,10803,10809,10839,10844,114,114,59,1,8703,116,104,116,59,1,8763,107,4,2,108,114,10816,10827,101,102,116,97,114,114,111,119,59,1,8617,105,103,104,116,97,114,114,111,119,59,1,8618,102,59,3,55349,56665,98,97,114,59,1,8213,4,3,99,108,116,10858,10863,10869,114,59,3,55349,56509,97,115,104,59,1,8463,114,111,107,59,1,295,4,2,98,112,10881,10887,117,108,108,59,1,8259,104,101,110,59,1,8208,4,15,97,99,101,102,103,105,106,109,110,111,112,113,115,116,117,10925,10936,10958,10977,10990,11001,11039,11045,11101,11192,11220,11226,11237,11285,11299,99,117,116,101,5,237,1,59,10934,1,237,4,3,59,105,121,10944,10946,10955,1,8291,114,99,5,238,1,59,10953,1,238,59,1,1080,4,2,99,120,10964,10968,121,59,1,1077,99,108,5,161,1,59,10975,1,161,4,2,102,114,10983,10986,59,1,8660,59,3,55349,56614,114,97,118,101,5,236,1,59,10999,1,236,4,4,59,105,110,111,11011,11013,11028,11034,1,8520,4,2,105,110,11019,11024,110,116,59,1,10764,116,59,1,8749,102,105,110,59,1,10716,116,97,59,1,8489,108,105,103,59,1,307,4,3,97,111,112,11053,11092,11096,4,3,99,103,116,11061,11065,11088,114,59,1,299,4,3,101,108,112,11073,11076,11082,59,1,8465,105,110,101,59,1,8464,97,114,116,59,1,8465,104,59,1,305,102,59,1,8887,101,100,59,1,437,4,5,59,99,102,111,116,11113,11115,11121,11136,11142,1,8712,97,114,101,59,1,8453,105,110,4,2,59,116,11129,11131,1,8734,105,101,59,1,10717,100,111,116,59,1,305,4,5,59,99,101,108,112,11154,11156,11161,11179,11186,1,8747,97,108,59,1,8890,4,2,103,114,11167,11173,101,114,115,59,1,8484,99,97,108,59,1,8890,97,114,104,107,59,1,10775,114,111,100,59,1,10812,4,4,99,103,112,116,11202,11206,11211,11216,121,59,1,1105,111,110,59,1,303,102,59,3,55349,56666,97,59,1,953,114,111,100,59,1,10812,117,101,115,116,5,191,1,59,11235,1,191,4,2,99,105,11243,11248,114,59,3,55349,56510,110,4,5,59,69,100,115,118,11261,11263,11266,11271,11282,1,8712,59,1,8953,111,116,59,1,8949,4,2,59,118,11277,11279,1,8948,59,1,8947,59,1,8712,4,2,59,105,11291,11293,1,8290,108,100,101,59,1,297,4,2,107,109,11305,11310,99,121,59,1,1110,108,5,239,1,59,11316,1,239,4,6,99,102,109,111,115,117,11332,11346,11351,11357,11363,11380,4,2,105,121,11338,11343,114,99,59,1,309,59,1,1081,114,59,3,55349,56615,97,116,104,59,1,567,112,102,59,3,55349,56667,4,2,99,101,11369,11374,114,59,3,55349,56511,114,99,121,59,1,1112,107,99,121,59,1,1108,4,8,97,99,102,103,104,106,111,115,11404,11418,11433,11438,11445,11450,11455,11461,112,112,97,4,2,59,118,11413,11415,1,954,59,1,1008,4,2,101,121,11424,11430,100,105,108,59,1,311,59,1,1082,114,59,3,55349,56616,114,101,101,110,59,1,312,99,121,59,1,1093,99,121,59,1,1116,112,102,59,3,55349,56668,99,114,59,3,55349,56512,4,23,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,11515,11538,11544,11555,11560,11721,11780,11818,11868,12136,12160,12171,12203,12208,12246,12275,12327,12509,12523,12569,12641,12732,12752,4,3,97,114,116,11523,11528,11532,114,114,59,1,8666,114,59,1,8656,97,105,108,59,1,10523,97,114,114,59,1,10510,4,2,59,103,11550,11552,1,8806,59,1,10891,97,114,59,1,10594,4,9,99,101,103,109,110,112,113,114,116,11580,11586,11594,11600,11606,11624,11627,11636,11694,117,116,101,59,1,314,109,112,116,121,118,59,1,10676,114,97,110,59,1,8466,98,100,97,59,1,955,103,4,3,59,100,108,11615,11617,11620,1,10216,59,1,10641,101,59,1,10216,59,1,10885,117,111,5,171,1,59,11634,1,171,114,4,8,59,98,102,104,108,112,115,116,11655,11657,11669,11673,11677,11681,11685,11690,1,8592,4,2,59,102,11663,11665,1,8676,115,59,1,10527,115,59,1,10525,107,59,1,8617,112,59,1,8619,108,59,1,10553,105,109,59,1,10611,108,59,1,8610,4,3,59,97,101,11702,11704,11709,1,10923,105,108,59,1,10521,4,2,59,115,11715,11717,1,10925,59,3,10925,65024,4,3,97,98,114,11729,11734,11739,114,114,59,1,10508,114,107,59,1,10098,4,2,97,107,11745,11758,99,4,2,101,107,11752,11755,59,1,123,59,1,91,4,2,101,115,11764,11767,59,1,10635,108,4,2,100,117,11774,11777,59,1,10639,59,1,10637,4,4,97,101,117,121,11790,11796,11811,11815,114,111,110,59,1,318,4,2,100,105,11802,11807,105,108,59,1,316,108,59,1,8968,98,59,1,123,59,1,1083,4,4,99,113,114,115,11828,11832,11845,11864,97,59,1,10550,117,111,4,2,59,114,11840,11842,1,8220,59,1,8222,4,2,100,117,11851,11857,104,97,114,59,1,10599,115,104,97,114,59,1,10571,104,59,1,8626,4,5,59,102,103,113,115,11880,11882,12008,12011,12031,1,8804,116,4,5,97,104,108,114,116,11895,11913,11935,11947,11996,114,114,111,119,4,2,59,116,11905,11907,1,8592,97,105,108,59,1,8610,97,114,112,111,111,110,4,2,100,117,11925,11931,111,119,110,59,1,8637,112,59,1,8636,101,102,116,97,114,114,111,119,115,59,1,8647,105,103,104,116,4,3,97,104,115,11959,11974,11984,114,114,111,119,4,2,59,115,11969,11971,1,8596,59,1,8646,97,114,112,111,111,110,115,59,1,8651,113,117,105,103,97,114,114,111,119,59,1,8621,104,114,101,101,116,105,109,101,115,59,1,8907,59,1,8922,4,3,59,113,115,12019,12021,12024,1,8804,59,1,8806,108,97,110,116,59,1,10877,4,5,59,99,100,103,115,12043,12045,12049,12070,12083,1,10877,99,59,1,10920,111,116,4,2,59,111,12057,12059,1,10879,4,2,59,114,12065,12067,1,10881,59,1,10883,4,2,59,101,12076,12079,3,8922,65024,115,59,1,10899,4,5,97,100,101,103,115,12095,12103,12108,12126,12131,112,112,114,111,120,59,1,10885,111,116,59,1,8918,113,4,2,103,113,12115,12120,116,114,59,1,8922,103,116,114,59,1,10891,116,114,59,1,8822,105,109,59,1,8818,4,3,105,108,114,12144,12150,12156,115,104,116,59,1,10620,111,111,114,59,1,8970,59,3,55349,56617,4,2,59,69,12166,12168,1,8822,59,1,10897,4,2,97,98,12177,12198,114,4,2,100,117,12184,12187,59,1,8637,4,2,59,108,12193,12195,1,8636,59,1,10602,108,107,59,1,9604,99,121,59,1,1113,4,5,59,97,99,104,116,12220,12222,12227,12235,12241,1,8810,114,114,59,1,8647,111,114,110,101,114,59,1,8990,97,114,100,59,1,10603,114,105,59,1,9722,4,2,105,111,12252,12258,100,111,116,59,1,320,117,115,116,4,2,59,97,12267,12269,1,9136,99,104,101,59,1,9136,4,4,69,97,101,115,12285,12288,12303,12322,59,1,8808,112,4,2,59,112,12295,12297,1,10889,114,111,120,59,1,10889,4,2,59,113,12309,12311,1,10887,4,2,59,113,12317,12319,1,10887,59,1,8808,105,109,59,1,8934,4,8,97,98,110,111,112,116,119,122,12345,12359,12364,12421,12446,12467,12474,12490,4,2,110,114,12351,12355,103,59,1,10220,114,59,1,8701,114,107,59,1,10214,103,4,3,108,109,114,12373,12401,12409,101,102,116,4,2,97,114,12382,12389,114,114,111,119,59,1,10229,105,103,104,116,97,114,114,111,119,59,1,10231,97,112,115,116,111,59,1,10236,105,103,104,116,97,114,114,111,119,59,1,10230,112,97,114,114,111,119,4,2,108,114,12433,12439,101,102,116,59,1,8619,105,103,104,116,59,1,8620,4,3,97,102,108,12454,12458,12462,114,59,1,10629,59,3,55349,56669,117,115,59,1,10797,105,109,101,115,59,1,10804,4,2,97,98,12480,12485,115,116,59,1,8727,97,114,59,1,95,4,3,59,101,102,12498,12500,12506,1,9674,110,103,101,59,1,9674,59,1,10731,97,114,4,2,59,108,12517,12519,1,40,116,59,1,10643,4,5,97,99,104,109,116,12535,12540,12548,12561,12564,114,114,59,1,8646,111,114,110,101,114,59,1,8991,97,114,4,2,59,100,12556,12558,1,8651,59,1,10605,59,1,8206,114,105,59,1,8895,4,6,97,99,104,105,113,116,12583,12589,12594,12597,12614,12635,113,117,111,59,1,8249,114,59,3,55349,56513,59,1,8624,109,4,3,59,101,103,12606,12608,12611,1,8818,59,1,10893,59,1,10895,4,2,98,117,12620,12623,59,1,91,111,4,2,59,114,12630,12632,1,8216,59,1,8218,114,111,107,59,1,322,5,60,8,59,99,100,104,105,108,113,114,12660,12662,12675,12680,12686,12692,12698,12705,1,60,4,2,99,105,12668,12671,59,1,10918,114,59,1,10873,111,116,59,1,8918,114,101,101,59,1,8907,109,101,115,59,1,8905,97,114,114,59,1,10614,117,101,115,116,59,1,10875,4,2,80,105,12711,12716,97,114,59,1,10646,4,3,59,101,102,12724,12726,12729,1,9667,59,1,8884,59,1,9666,114,4,2,100,117,12739,12746,115,104,97,114,59,1,10570,104,97,114,59,1,10598,4,2,101,110,12758,12768,114,116,110,101,113,113,59,3,8808,65024,69,59,3,8808,65024,4,14,68,97,99,100,101,102,104,105,108,110,111,112,115,117,12803,12809,12893,12908,12914,12928,12933,12937,13011,13025,13032,13049,13052,13069,68,111,116,59,1,8762,4,4,99,108,112,114,12819,12827,12849,12887,114,5,175,1,59,12825,1,175,4,2,101,116,12833,12836,59,1,9794,4,2,59,101,12842,12844,1,10016,115,101,59,1,10016,4,2,59,115,12855,12857,1,8614,116,111,4,4,59,100,108,117,12869,12871,12877,12883,1,8614,111,119,110,59,1,8615,101,102,116,59,1,8612,112,59,1,8613,107,101,114,59,1,9646,4,2,111,121,12899,12905,109,109,97,59,1,10793,59,1,1084,97,115,104,59,1,8212,97,115,117,114,101,100,97,110,103,108,101,59,1,8737,114,59,3,55349,56618,111,59,1,8487,4,3,99,100,110,12945,12954,12985,114,111,5,181,1,59,12952,1,181,4,4,59,97,99,100,12964,12966,12971,12976,1,8739,115,116,59,1,42,105,114,59,1,10992,111,116,5,183,1,59,12983,1,183,117,115,4,3,59,98,100,12995,12997,13000,1,8722,59,1,8863,4,2,59,117,13006,13008,1,8760,59,1,10794,4,2,99,100,13017,13021,112,59,1,10971,114,59,1,8230,112,108,117,115,59,1,8723,4,2,100,112,13038,13044,101,108,115,59,1,8871,102,59,3,55349,56670,59,1,8723,4,2,99,116,13058,13063,114,59,3,55349,56514,112,111,115,59,1,8766,4,3,59,108,109,13077,13079,13087,1,956,116,105,109,97,112,59,1,8888,97,112,59,1,8888,4,24,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,13142,13165,13217,13229,13247,13330,13359,13414,13420,13508,13513,13579,13602,13626,13631,13762,13767,13855,13936,13995,14214,14285,14312,14432,4,2,103,116,13148,13152,59,3,8921,824,4,2,59,118,13158,13161,3,8811,8402,59,3,8811,824,4,3,101,108,116,13173,13200,13204,102,116,4,2,97,114,13181,13188,114,114,111,119,59,1,8653,105,103,104,116,97,114,114,111,119,59,1,8654,59,3,8920,824,4,2,59,118,13210,13213,3,8810,8402,59,3,8810,824,105,103,104,116,97,114,114,111,119,59,1,8655,4,2,68,100,13235,13241,97,115,104,59,1,8879,97,115,104,59,1,8878,4,5,98,99,110,112,116,13259,13264,13270,13275,13308,108,97,59,1,8711,117,116,101,59,1,324,103,59,3,8736,8402,4,5,59,69,105,111,112,13287,13289,13293,13298,13302,1,8777,59,3,10864,824,100,59,3,8779,824,115,59,1,329,114,111,120,59,1,8777,117,114,4,2,59,97,13316,13318,1,9838,108,4,2,59,115,13325,13327,1,9838,59,1,8469,4,2,115,117,13336,13344,112,5,160,1,59,13342,1,160,109,112,4,2,59,101,13352,13355,3,8782,824,59,3,8783,824,4,5,97,101,111,117,121,13371,13385,13391,13407,13411,4,2,112,114,13377,13380,59,1,10819,111,110,59,1,328,100,105,108,59,1,326,110,103,4,2,59,100,13399,13401,1,8775,111,116,59,3,10861,824,112,59,1,10818,59,1,1085,97,115,104,59,1,8211,4,7,59,65,97,100,113,115,120,13436,13438,13443,13466,13472,13478,13494,1,8800,114,114,59,1,8663,114,4,2,104,114,13450,13454,107,59,1,10532,4,2,59,111,13460,13462,1,8599,119,59,1,8599,111,116,59,3,8784,824,117,105,118,59,1,8802,4,2,101,105,13484,13489,97,114,59,1,10536,109,59,3,8770,824,105,115,116,4,2,59,115,13503,13505,1,8708,59,1,8708,114,59,3,55349,56619,4,4,69,101,115,116,13523,13527,13563,13568,59,3,8807,824,4,3,59,113,115,13535,13537,13559,1,8817,4,3,59,113,115,13545,13547,13551,1,8817,59,3,8807,824,108,97,110,116,59,3,10878,824,59,3,10878,824,105,109,59,1,8821,4,2,59,114,13574,13576,1,8815,59,1,8815,4,3,65,97,112,13587,13592,13597,114,114,59,1,8654,114,114,59,1,8622,97,114,59,1,10994,4,3,59,115,118,13610,13612,13623,1,8715,4,2,59,100,13618,13620,1,8956,59,1,8954,59,1,8715,99,121,59,1,1114,4,7,65,69,97,100,101,115,116,13647,13652,13656,13661,13665,13737,13742,114,114,59,1,8653,59,3,8806,824,114,114,59,1,8602,114,59,1,8229,4,4,59,102,113,115,13675,13677,13703,13725,1,8816,116,4,2,97,114,13684,13691,114,114,111,119,59,1,8602,105,103,104,116,97,114,114,111,119,59,1,8622,4,3,59,113,115,13711,13713,13717,1,8816,59,3,8806,824,108,97,110,116,59,3,10877,824,4,2,59,115,13731,13734,3,10877,824,59,1,8814,105,109,59,1,8820,4,2,59,114,13748,13750,1,8814,105,4,2,59,101,13757,13759,1,8938,59,1,8940,105,100,59,1,8740,4,2,112,116,13773,13778,102,59,3,55349,56671,5,172,3,59,105,110,13787,13789,13829,1,172,110,4,4,59,69,100,118,13800,13802,13806,13812,1,8713,59,3,8953,824,111,116,59,3,8949,824,4,3,97,98,99,13820,13823,13826,59,1,8713,59,1,8951,59,1,8950,105,4,2,59,118,13836,13838,1,8716,4,3,97,98,99,13846,13849,13852,59,1,8716,59,1,8958,59,1,8957,4,3,97,111,114,13863,13892,13899,114,4,4,59,97,115,116,13874,13876,13883,13888,1,8742,108,108,101,108,59,1,8742,108,59,3,11005,8421,59,3,8706,824,108,105,110,116,59,1,10772,4,3,59,99,101,13907,13909,13914,1,8832,117,101,59,1,8928,4,2,59,99,13920,13923,3,10927,824,4,2,59,101,13929,13931,1,8832,113,59,3,10927,824,4,4,65,97,105,116,13946,13951,13971,13982,114,114,59,1,8655,114,114,4,3,59,99,119,13961,13963,13967,1,8603,59,3,10547,824,59,3,8605,824,103,104,116,97,114,114,111,119,59,1,8603,114,105,4,2,59,101,13990,13992,1,8939,59,1,8941,4,7,99,104,105,109,112,113,117,14011,14036,14060,14080,14085,14090,14106,4,4,59,99,101,114,14021,14023,14028,14032,1,8833,117,101,59,1,8929,59,3,10928,824,59,3,55349,56515,111,114,116,4,2,109,112,14045,14050,105,100,59,1,8740,97,114,97,108,108,101,108,59,1,8742,109,4,2,59,101,14067,14069,1,8769,4,2,59,113,14075,14077,1,8772,59,1,8772,105,100,59,1,8740,97,114,59,1,8742,115,117,4,2,98,112,14098,14102,101,59,1,8930,101,59,1,8931,4,3,98,99,112,14114,14157,14171,4,4,59,69,101,115,14124,14126,14130,14133,1,8836,59,3,10949,824,59,1,8840,101,116,4,2,59,101,14141,14144,3,8834,8402,113,4,2,59,113,14151,14153,1,8840,59,3,10949,824,99,4,2,59,101,14164,14166,1,8833,113,59,3,10928,824,4,4,59,69,101,115,14181,14183,14187,14190,1,8837,59,3,10950,824,59,1,8841,101,116,4,2,59,101,14198,14201,3,8835,8402,113,4,2,59,113,14208,14210,1,8841,59,3,10950,824,4,4,103,105,108,114,14224,14228,14238,14242,108,59,1,8825,108,100,101,5,241,1,59,14236,1,241,103,59,1,8824,105,97,110,103,108,101,4,2,108,114,14254,14269,101,102,116,4,2,59,101,14263,14265,1,8938,113,59,1,8940,105,103,104,116,4,2,59,101,14279,14281,1,8939,113,59,1,8941,4,2,59,109,14291,14293,1,957,4,3,59,101,115,14301,14303,14308,1,35,114,111,59,1,8470,112,59,1,8199,4,9,68,72,97,100,103,105,108,114,115,14332,14338,14344,14349,14355,14369,14376,14408,14426,97,115,104,59,1,8877,97,114,114,59,1,10500,112,59,3,8781,8402,97,115,104,59,1,8876,4,2,101,116,14361,14365,59,3,8805,8402,59,3,62,8402,110,102,105,110,59,1,10718,4,3,65,101,116,14384,14389,14393,114,114,59,1,10498,59,3,8804,8402,4,2,59,114,14399,14402,3,60,8402,105,101,59,3,8884,8402,4,2,65,116,14414,14419,114,114,59,1,10499,114,105,101,59,3,8885,8402,105,109,59,3,8764,8402,4,3,65,97,110,14440,14445,14468,114,114,59,1,8662,114,4,2,104,114,14452,14456,107,59,1,10531,4,2,59,111,14462,14464,1,8598,119,59,1,8598,101,97,114,59,1,10535,4,18,83,97,99,100,101,102,103,104,105,108,109,111,112,114,115,116,117,118,14512,14515,14535,14560,14597,14603,14618,14643,14657,14662,14701,14741,14747,14769,14851,14877,14907,14916,59,1,9416,4,2,99,115,14521,14531,117,116,101,5,243,1,59,14529,1,243,116,59,1,8859,4,2,105,121,14541,14557,114,4,2,59,99,14548,14550,1,8858,5,244,1,59,14555,1,244,59,1,1086,4,5,97,98,105,111,115,14572,14577,14583,14587,14591,115,104,59,1,8861,108,97,99,59,1,337,118,59,1,10808,116,59,1,8857,111,108,100,59,1,10684,108,105,103,59,1,339,4,2,99,114,14609,14614,105,114,59,1,10687,59,3,55349,56620,4,3,111,114,116,14626,14630,14640,110,59,1,731,97,118,101,5,242,1,59,14638,1,242,59,1,10689,4,2,98,109,14649,14654,97,114,59,1,10677,59,1,937,110,116,59,1,8750,4,4,97,99,105,116,14672,14677,14693,14698,114,114,59,1,8634,4,2,105,114,14683,14687,114,59,1,10686,111,115,115,59,1,10683,110,101,59,1,8254,59,1,10688,4,3,97,101,105,14709,14714,14719,99,114,59,1,333,103,97,59,1,969,4,3,99,100,110,14727,14733,14736,114,111,110,59,1,959,59,1,10678,117,115,59,1,8854,112,102,59,3,55349,56672,4,3,97,101,108,14755,14759,14764,114,59,1,10679,114,112,59,1,10681,117,115,59,1,8853,4,7,59,97,100,105,111,115,118,14785,14787,14792,14831,14837,14841,14848,1,8744,114,114,59,1,8635,4,4,59,101,102,109,14802,14804,14817,14824,1,10845,114,4,2,59,111,14811,14813,1,8500,102,59,1,8500,5,170,1,59,14822,1,170,5,186,1,59,14829,1,186,103,111,102,59,1,8886,114,59,1,10838,108,111,112,101,59,1,10839,59,1,10843,4,3,99,108,111,14859,14863,14873,114,59,1,8500,97,115,104,5,248,1,59,14871,1,248,108,59,1,8856,105,4,2,108,109,14884,14893,100,101,5,245,1,59,14891,1,245,101,115,4,2,59,97,14901,14903,1,8855,115,59,1,10806,109,108,5,246,1,59,14914,1,246,98,97,114,59,1,9021,4,12,97,99,101,102,104,105,108,109,111,114,115,117,14948,14992,14996,15033,15038,15068,15090,15189,15192,15222,15427,15441,114,4,4,59,97,115,116,14959,14961,14976,14989,1,8741,5,182,2,59,108,14968,14970,1,182,108,101,108,59,1,8741,4,2,105,108,14982,14986,109,59,1,10995,59,1,11005,59,1,8706,121,59,1,1087,114,4,5,99,105,109,112,116,15009,15014,15019,15024,15027,110,116,59,1,37,111,100,59,1,46,105,108,59,1,8240,59,1,8869,101,110,107,59,1,8241,114,59,3,55349,56621,4,3,105,109,111,15046,15057,15063,4,2,59,118,15052,15054,1,966,59,1,981,109,97,116,59,1,8499,110,101,59,1,9742,4,3,59,116,118,15076,15078,15087,1,960,99,104,102,111,114,107,59,1,8916,59,1,982,4,2,97,117,15096,15119,110,4,2,99,107,15103,15115,107,4,2,59,104,15110,15112,1,8463,59,1,8462,118,59,1,8463,115,4,9,59,97,98,99,100,101,109,115,116,15140,15142,15148,15151,15156,15168,15171,15179,15184,1,43,99,105,114,59,1,10787,59,1,8862,105,114,59,1,10786,4,2,111,117,15162,15165,59,1,8724,59,1,10789,59,1,10866,110,5,177,1,59,15177,1,177,105,109,59,1,10790,119,111,59,1,10791,59,1,177,4,3,105,112,117,15200,15208,15213,110,116,105,110,116,59,1,10773,102,59,3,55349,56673,110,100,5,163,1,59,15220,1,163,4,10,59,69,97,99,101,105,110,111,115,117,15244,15246,15249,15253,15258,15334,15347,15367,15416,15421,1,8826,59,1,10931,112,59,1,10935,117,101,59,1,8828,4,2,59,99,15264,15266,1,10927,4,6,59,97,99,101,110,115,15280,15282,15290,15299,15303,15329,1,8826,112,112,114,111,120,59,1,10935,117,114,108,121,101,113,59,1,8828,113,59,1,10927,4,3,97,101,115,15311,15319,15324,112,112,114,111,120,59,1,10937,113,113,59,1,10933,105,109,59,1,8936,105,109,59,1,8830,109,101,4,2,59,115,15342,15344,1,8242,59,1,8473,4,3,69,97,115,15355,15358,15362,59,1,10933,112,59,1,10937,105,109,59,1,8936,4,3,100,102,112,15375,15378,15404,59,1,8719,4,3,97,108,115,15386,15392,15398,108,97,114,59,1,9006,105,110,101,59,1,8978,117,114,102,59,1,8979,4,2,59,116,15410,15412,1,8733,111,59,1,8733,105,109,59,1,8830,114,101,108,59,1,8880,4,2,99,105,15433,15438,114,59,3,55349,56517,59,1,968,110,99,115,112,59,1,8200,4,6,102,105,111,112,115,117,15462,15467,15472,15478,15485,15491,114,59,3,55349,56622,110,116,59,1,10764,112,102,59,3,55349,56674,114,105,109,101,59,1,8279,99,114,59,3,55349,56518,4,3,97,101,111,15499,15520,15534,116,4,2,101,105,15506,15515,114,110,105,111,110,115,59,1,8461,110,116,59,1,10774,115,116,4,2,59,101,15528,15530,1,63,113,59,1,8799,116,5,34,1,59,15540,1,34,4,21,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,15586,15609,15615,15620,15796,15855,15893,15931,15977,16001,16039,16183,16204,16222,16228,16285,16312,16318,16363,16408,16416,4,3,97,114,116,15594,15599,15603,114,114,59,1,8667,114,59,1,8658,97,105,108,59,1,10524,97,114,114,59,1,10511,97,114,59,1,10596,4,7,99,100,101,110,113,114,116,15636,15651,15656,15664,15687,15696,15770,4,2,101,117,15642,15646,59,3,8765,817,116,101,59,1,341,105,99,59,1,8730,109,112,116,121,118,59,1,10675,103,4,4,59,100,101,108,15675,15677,15680,15683,1,10217,59,1,10642,59,1,10661,101,59,1,10217,117,111,5,187,1,59,15694,1,187,114,4,11,59,97,98,99,102,104,108,112,115,116,119,15721,15723,15727,15739,15742,15746,15750,15754,15758,15763,15767,1,8594,112,59,1,10613,4,2,59,102,15733,15735,1,8677,115,59,1,10528,59,1,10547,115,59,1,10526,107,59,1,8618,112,59,1,8620,108,59,1,10565,105,109,59,1,10612,108,59,1,8611,59,1,8605,4,2,97,105,15776,15781,105,108,59,1,10522,111,4,2,59,110,15788,15790,1,8758,97,108,115,59,1,8474,4,3,97,98,114,15804,15809,15814,114,114,59,1,10509,114,107,59,1,10099,4,2,97,107,15820,15833,99,4,2,101,107,15827,15830,59,1,125,59,1,93,4,2,101,115,15839,15842,59,1,10636,108,4,2,100,117,15849,15852,59,1,10638,59,1,10640,4,4,97,101,117,121,15865,15871,15886,15890,114,111,110,59,1,345,4,2,100,105,15877,15882,105,108,59,1,343,108,59,1,8969,98,59,1,125,59,1,1088,4,4,99,108,113,115,15903,15907,15914,15927,97,59,1,10551,100,104,97,114,59,1,10601,117,111,4,2,59,114,15922,15924,1,8221,59,1,8221,104,59,1,8627,4,3,97,99,103,15939,15966,15970,108,4,4,59,105,112,115,15950,15952,15957,15963,1,8476,110,101,59,1,8475,97,114,116,59,1,8476,59,1,8477,116,59,1,9645,5,174,1,59,15975,1,174,4,3,105,108,114,15985,15991,15997,115,104,116,59,1,10621,111,111,114,59,1,8971,59,3,55349,56623,4,2,97,111,16007,16028,114,4,2,100,117,16014,16017,59,1,8641,4,2,59,108,16023,16025,1,8640,59,1,10604,4,2,59,118,16034,16036,1,961,59,1,1009,4,3,103,110,115,16047,16167,16171,104,116,4,6,97,104,108,114,115,116,16063,16081,16103,16130,16143,16155,114,114,111,119,4,2,59,116,16073,16075,1,8594,97,105,108,59,1,8611,97,114,112,111,111,110,4,2,100,117,16093,16099,111,119,110,59,1,8641,112,59,1,8640,101,102,116,4,2,97,104,16112,16120,114,114,111,119,115,59,1,8644,97,114,112,111,111,110,115,59,1,8652,105,103,104,116,97,114,114,111,119,115,59,1,8649,113,117,105,103,97,114,114,111,119,59,1,8605,104,114,101,101,116,105,109,101,115,59,1,8908,103,59,1,730,105,110,103,100,111,116,115,101,113,59,1,8787,4,3,97,104,109,16191,16196,16201,114,114,59,1,8644,97,114,59,1,8652,59,1,8207,111,117,115,116,4,2,59,97,16214,16216,1,9137,99,104,101,59,1,9137,109,105,100,59,1,10990,4,4,97,98,112,116,16238,16252,16257,16278,4,2,110,114,16244,16248,103,59,1,10221,114,59,1,8702,114,107,59,1,10215,4,3,97,102,108,16265,16269,16273,114,59,1,10630,59,3,55349,56675,117,115,59,1,10798,105,109,101,115,59,1,10805,4,2,97,112,16291,16304,114,4,2,59,103,16298,16300,1,41,116,59,1,10644,111,108,105,110,116,59,1,10770,97,114,114,59,1,8649,4,4,97,99,104,113,16328,16334,16339,16342,113,117,111,59,1,8250,114,59,3,55349,56519,59,1,8625,4,2,98,117,16348,16351,59,1,93,111,4,2,59,114,16358,16360,1,8217,59,1,8217,4,3,104,105,114,16371,16377,16383,114,101,101,59,1,8908,109,101,115,59,1,8906,105,4,4,59,101,102,108,16394,16396,16399,16402,1,9657,59,1,8885,59,1,9656,116,114,105,59,1,10702,108,117,104,97,114,59,1,10600,59,1,8478,4,19,97,98,99,100,101,102,104,105,108,109,111,112,113,114,115,116,117,119,122,16459,16466,16472,16572,16590,16672,16687,16746,16844,16850,16924,16963,16988,17115,17121,17154,17206,17614,17656,99,117,116,101,59,1,347,113,117,111,59,1,8218,4,10,59,69,97,99,101,105,110,112,115,121,16494,16496,16499,16513,16518,16531,16536,16556,16564,16569,1,8827,59,1,10932,4,2,112,114,16505,16508,59,1,10936,111,110,59,1,353,117,101,59,1,8829,4,2,59,100,16524,16526,1,10928,105,108,59,1,351,114,99,59,1,349,4,3,69,97,115,16544,16547,16551,59,1,10934,112,59,1,10938,105,109,59,1,8937,111,108,105,110,116,59,1,10771,105,109,59,1,8831,59,1,1089,111,116,4,3,59,98,101,16582,16584,16587,1,8901,59,1,8865,59,1,10854,4,7,65,97,99,109,115,116,120,16606,16611,16634,16642,16646,16652,16668,114,114,59,1,8664,114,4,2,104,114,16618,16622,107,59,1,10533,4,2,59,111,16628,16630,1,8600,119,59,1,8600,116,5,167,1,59,16640,1,167,105,59,1,59,119,97,114,59,1,10537,109,4,2,105,110,16659,16665,110,117,115,59,1,8726,59,1,8726,116,59,1,10038,114,4,2,59,111,16679,16682,3,55349,56624,119,110,59,1,8994,4,4,97,99,111,121,16697,16702,16716,16739,114,112,59,1,9839,4,2,104,121,16708,16713,99,121,59,1,1097,59,1,1096,114,116,4,2,109,112,16724,16729,105,100,59,1,8739,97,114,97,108,108,101,108,59,1,8741,5,173,1,59,16744,1,173,4,2,103,109,16752,16770,109,97,4,3,59,102,118,16762,16764,16767,1,963,59,1,962,59,1,962,4,8,59,100,101,103,108,110,112,114,16788,16790,16795,16806,16817,16828,16832,16838,1,8764,111,116,59,1,10858,4,2,59,113,16801,16803,1,8771,59,1,8771,4,2,59,69,16812,16814,1,10910,59,1,10912,4,2,59,69,16823,16825,1,10909,59,1,10911,101,59,1,8774,108,117,115,59,1,10788,97,114,114,59,1,10610,97,114,114,59,1,8592,4,4,97,101,105,116,16860,16883,16891,16904,4,2,108,115,16866,16878,108,115,101,116,109,105,110,117,115,59,1,8726,104,112,59,1,10803,112,97,114,115,108,59,1,10724,4,2,100,108,16897,16900,59,1,8739,101,59,1,8995,4,2,59,101,16910,16912,1,10922,4,2,59,115,16918,16920,1,10924,59,3,10924,65024,4,3,102,108,112,16932,16938,16958,116,99,121,59,1,1100,4,2,59,98,16944,16946,1,47,4,2,59,97,16952,16954,1,10692,114,59,1,9023,102,59,3,55349,56676,97,4,2,100,114,16970,16985,101,115,4,2,59,117,16978,16980,1,9824,105,116,59,1,9824,59,1,8741,4,3,99,115,117,16996,17028,17089,4,2,97,117,17002,17015,112,4,2,59,115,17009,17011,1,8851,59,3,8851,65024,112,4,2,59,115,17022,17024,1,8852,59,3,8852,65024,117,4,2,98,112,17035,17062,4,3,59,101,115,17043,17045,17048,1,8847,59,1,8849,101,116,4,2,59,101,17056,17058,1,8847,113,59,1,8849,4,3,59,101,115,17070,17072,17075,1,8848,59,1,8850,101,116,4,2,59,101,17083,17085,1,8848,113,59,1,8850,4,3,59,97,102,17097,17099,17112,1,9633,114,4,2,101,102,17106,17109,59,1,9633,59,1,9642,59,1,9642,97,114,114,59,1,8594,4,4,99,101,109,116,17131,17136,17142,17148,114,59,3,55349,56520,116,109,110,59,1,8726,105,108,101,59,1,8995,97,114,102,59,1,8902,4,2,97,114,17160,17172,114,4,2,59,102,17167,17169,1,9734,59,1,9733,4,2,97,110,17178,17202,105,103,104,116,4,2,101,112,17188,17197,112,115,105,108,111,110,59,1,1013,104,105,59,1,981,115,59,1,175,4,5,98,99,109,110,112,17218,17351,17420,17423,17427,4,9,59,69,100,101,109,110,112,114,115,17238,17240,17243,17248,17261,17267,17279,17285,17291,1,8834,59,1,10949,111,116,59,1,10941,4,2,59,100,17254,17256,1,8838,111,116,59,1,10947,117,108,116,59,1,10945,4,2,69,101,17273,17276,59,1,10955,59,1,8842,108,117,115,59,1,10943,97,114,114,59,1,10617,4,3,101,105,117,17299,17335,17339,116,4,3,59,101,110,17308,17310,17322,1,8834,113,4,2,59,113,17317,17319,1,8838,59,1,10949,101,113,4,2,59,113,17330,17332,1,8842,59,1,10955,109,59,1,10951,4,2,98,112,17345,17348,59,1,10965,59,1,10963,99,4,6,59,97,99,101,110,115,17366,17368,17376,17385,17389,17415,1,8827,112,112,114,111,120,59,1,10936,117,114,108,121,101,113,59,1,8829,113,59,1,10928,4,3,97,101,115,17397,17405,17410,112,112,114,111,120,59,1,10938,113,113,59,1,10934,105,109,59,1,8937,105,109,59,1,8831,59,1,8721,103,59,1,9834,4,13,49,50,51,59,69,100,101,104,108,109,110,112,115,17455,17462,17469,17476,17478,17481,17496,17509,17524,17530,17536,17548,17554,5,185,1,59,17460,1,185,5,178,1,59,17467,1,178,5,179,1,59,17474,1,179,1,8835,59,1,10950,4,2,111,115,17487,17491,116,59,1,10942,117,98,59,1,10968,4,2,59,100,17502,17504,1,8839,111,116,59,1,10948,115,4,2,111,117,17516,17520,108,59,1,10185,98,59,1,10967,97,114,114,59,1,10619,117,108,116,59,1,10946,4,2,69,101,17542,17545,59,1,10956,59,1,8843,108,117,115,59,1,10944,4,3,101,105,117,17562,17598,17602,116,4,3,59,101,110,17571,17573,17585,1,8835,113,4,2,59,113,17580,17582,1,8839,59,1,10950,101,113,4,2,59,113,17593,17595,1,8843,59,1,10956,109,59,1,10952,4,2,98,112,17608,17611,59,1,10964,59,1,10966,4,3,65,97,110,17622,17627,17650,114,114,59,1,8665,114,4,2,104,114,17634,17638,107,59,1,10534,4,2,59,111,17644,17646,1,8601,119,59,1,8601,119,97,114,59,1,10538,108,105,103,5,223,1,59,17664,1,223,4,13,97,98,99,100,101,102,104,105,111,112,114,115,119,17694,17709,17714,17737,17742,17749,17754,17860,17905,17957,17964,18090,18122,4,2,114,117,17700,17706,103,101,116,59,1,8982,59,1,964,114,107,59,1,9140,4,3,97,101,121,17722,17728,17734,114,111,110,59,1,357,100,105,108,59,1,355,59,1,1090,111,116,59,1,8411,108,114,101,99,59,1,8981,114,59,3,55349,56625,4,4,101,105,107,111,17764,17805,17836,17851,4,2,114,116,17770,17786,101,4,2,52,102,17777,17780,59,1,8756,111,114,101,59,1,8756,97,4,3,59,115,118,17795,17797,17802,1,952,121,109,59,1,977,59,1,977,4,2,99,110,17811,17831,107,4,2,97,115,17818,17826,112,112,114,111,120,59,1,8776,105,109,59,1,8764,115,112,59,1,8201,4,2,97,115,17842,17846,112,59,1,8776,105,109,59,1,8764,114,110,5,254,1,59,17858,1,254,4,3,108,109,110,17868,17873,17901,100,101,59,1,732,101,115,5,215,3,59,98,100,17884,17886,17898,1,215,4,2,59,97,17892,17894,1,8864,114,59,1,10801,59,1,10800,116,59,1,8749,4,3,101,112,115,17913,17917,17953,97,59,1,10536,4,4,59,98,99,102,17927,17929,17934,17939,1,8868,111,116,59,1,9014,105,114,59,1,10993,4,2,59,111,17945,17948,3,55349,56677,114,107,59,1,10970,97,59,1,10537,114,105,109,101,59,1,8244,4,3,97,105,112,17972,17977,18082,100,101,59,1,8482,4,7,97,100,101,109,112,115,116,17993,18051,18056,18059,18066,18072,18076,110,103,108,101,4,5,59,100,108,113,114,18009,18011,18017,18032,18035,1,9653,111,119,110,59,1,9663,101,102,116,4,2,59,101,18026,18028,1,9667,113,59,1,8884,59,1,8796,105,103,104,116,4,2,59,101,18045,18047,1,9657,113,59,1,8885,111,116,59,1,9708,59,1,8796,105,110,117,115,59,1,10810,108,117,115,59,1,10809,98,59,1,10701,105,109,101,59,1,10811,101,122,105,117,109,59,1,9186,4,3,99,104,116,18098,18111,18116,4,2,114,121,18104,18108,59,3,55349,56521,59,1,1094,99,121,59,1,1115,114,111,107,59,1,359,4,2,105,111,18128,18133,120,116,59,1,8812,104,101,97,100,4,2,108,114,18143,18154,101,102,116,97,114,114,111,119,59,1,8606,105,103,104,116,97,114,114,111,119,59,1,8608,4,18,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,18204,18209,18214,18234,18250,18268,18292,18308,18319,18343,18379,18397,18413,18504,18547,18553,18584,18603,114,114,59,1,8657,97,114,59,1,10595,4,2,99,114,18220,18230,117,116,101,5,250,1,59,18228,1,250,114,59,1,8593,114,4,2,99,101,18241,18245,121,59,1,1118,118,101,59,1,365,4,2,105,121,18256,18265,114,99,5,251,1,59,18263,1,251,59,1,1091,4,3,97,98,104,18276,18281,18287,114,114,59,1,8645,108,97,99,59,1,369,97,114,59,1,10606,4,2,105,114,18298,18304,115,104,116,59,1,10622,59,3,55349,56626,114,97,118,101,5,249,1,59,18317,1,249,4,2,97,98,18325,18338,114,4,2,108,114,18332,18335,59,1,8639,59,1,8638,108,107,59,1,9600,4,2,99,116,18349,18374,4,2,111,114,18355,18369,114,110,4,2,59,101,18363,18365,1,8988,114,59,1,8988,111,112,59,1,8975,114,105,59,1,9720,4,2,97,108,18385,18390,99,114,59,1,363,5,168,1,59,18395,1,168,4,2,103,112,18403,18408,111,110,59,1,371,102,59,3,55349,56678,4,6,97,100,104,108,115,117,18427,18434,18445,18470,18475,18494,114,114,111,119,59,1,8593,111,119,110,97,114,114,111,119,59,1,8597,97,114,112,111,111,110,4,2,108,114,18457,18463,101,102,116,59,1,8639,105,103,104,116,59,1,8638,117,115,59,1,8846,105,4,3,59,104,108,18484,18486,18489,1,965,59,1,978,111,110,59,1,965,112,97,114,114,111,119,115,59,1,8648,4,3,99,105,116,18512,18537,18542,4,2,111,114,18518,18532,114,110,4,2,59,101,18526,18528,1,8989,114,59,1,8989,111,112,59,1,8974,110,103,59,1,367,114,105,59,1,9721,99,114,59,3,55349,56522,4,3,100,105,114,18561,18566,18572,111,116,59,1,8944,108,100,101,59,1,361,105,4,2,59,102,18579,18581,1,9653,59,1,9652,4,2,97,109,18590,18595,114,114,59,1,8648,108,5,252,1,59,18601,1,252,97,110,103,108,101,59,1,10663,4,15,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,18643,18648,18661,18667,18847,18851,18857,18904,18909,18915,18931,18937,18943,18949,18996,114,114,59,1,8661,97,114,4,2,59,118,18656,18658,1,10984,59,1,10985,97,115,104,59,1,8872,4,2,110,114,18673,18679,103,114,116,59,1,10652,4,7,101,107,110,112,114,115,116,18695,18704,18711,18720,18742,18754,18810,112,115,105,108,111,110,59,1,1013,97,112,112,97,59,1,1008,111,116,104,105,110,103,59,1,8709,4,3,104,105,114,18728,18732,18735,105,59,1,981,59,1,982,111,112,116,111,59,1,8733,4,2,59,104,18748,18750,1,8597,111,59,1,1009,4,2,105,117,18760,18766,103,109,97,59,1,962,4,2,98,112,18772,18791,115,101,116,110,101,113,4,2,59,113,18784,18787,3,8842,65024,59,3,10955,65024,115,101,116,110,101,113,4,2,59,113,18803,18806,3,8843,65024,59,3,10956,65024,4,2,104,114,18816,18822,101,116,97,59,1,977,105,97,110,103,108,101,4,2,108,114,18834,18840,101,102,116,59,1,8882,105,103,104,116,59,1,8883,121,59,1,1074,97,115,104,59,1,8866,4,3,101,108,114,18865,18884,18890,4,3,59,98,101,18873,18875,18880,1,8744,97,114,59,1,8891,113,59,1,8794,108,105,112,59,1,8942,4,2,98,116,18896,18901,97,114,59,1,124,59,1,124,114,59,3,55349,56627,116,114,105,59,1,8882,115,117,4,2,98,112,18923,18927,59,3,8834,8402,59,3,8835,8402,112,102,59,3,55349,56679,114,111,112,59,1,8733,116,114,105,59,1,8883,4,2,99,117,18955,18960,114,59,3,55349,56523,4,2,98,112,18966,18981,110,4,2,69,101,18973,18977,59,3,10955,65024,59,3,8842,65024,110,4,2,69,101,18988,18992,59,3,10956,65024,59,3,8843,65024,105,103,122,97,103,59,1,10650,4,7,99,101,102,111,112,114,115,19020,19026,19061,19066,19072,19075,19089,105,114,99,59,1,373,4,2,100,105,19032,19055,4,2,98,103,19038,19043,97,114,59,1,10847,101,4,2,59,113,19050,19052,1,8743,59,1,8793,101,114,112,59,1,8472,114,59,3,55349,56628,112,102,59,3,55349,56680,59,1,8472,4,2,59,101,19081,19083,1,8768,97,116,104,59,1,8768,99,114,59,3,55349,56524,4,14,99,100,102,104,105,108,109,110,111,114,115,117,118,119,19125,19146,19152,19157,19173,19176,19192,19197,19202,19236,19252,19269,19286,19291,4,3,97,105,117,19133,19137,19142,112,59,1,8898,114,99,59,1,9711,112,59,1,8899,116,114,105,59,1,9661,114,59,3,55349,56629,4,2,65,97,19163,19168,114,114,59,1,10234,114,114,59,1,10231,59,1,958,4,2,65,97,19182,19187,114,114,59,1,10232,114,114,59,1,10229,97,112,59,1,10236,105,115,59,1,8955,4,3,100,112,116,19210,19215,19230,111,116,59,1,10752,4,2,102,108,19221,19225,59,3,55349,56681,117,115,59,1,10753,105,109,101,59,1,10754,4,2,65,97,19242,19247,114,114,59,1,10233,114,114,59,1,10230,4,2,99,113,19258,19263,114,59,3,55349,56525,99,117,112,59,1,10758,4,2,112,116,19275,19281,108,117,115,59,1,10756,114,105,59,1,9651,101,101,59,1,8897,101,100,103,101,59,1,8896,4,8,97,99,101,102,105,111,115,117,19316,19335,19349,19357,19362,19367,19373,19379,99,4,2,117,121,19323,19332,116,101,5,253,1,59,19330,1,253,59,1,1103,4,2,105,121,19341,19346,114,99,59,1,375,59,1,1099,110,5,165,1,59,19355,1,165,114,59,3,55349,56630,99,121,59,1,1111,112,102,59,3,55349,56682,99,114,59,3,55349,56526,4,2,99,109,19385,19389,121,59,1,1102,108,5,255,1,59,19395,1,255,4,10,97,99,100,101,102,104,105,111,115,119,19419,19426,19441,19446,19462,19467,19472,19480,19486,19492,99,117,116,101,59,1,378,4,2,97,121,19432,19438,114,111,110,59,1,382,59,1,1079,111,116,59,1,380,4,2,101,116,19452,19458,116,114,102,59,1,8488,97,59,1,950,114,59,3,55349,56631,99,121,59,1,1078,103,114,97,114,114,59,1,8669,112,102,59,3,55349,56683,99,114,59,3,55349,56527,4,2,106,110,19498,19501,59,1,8205,106,59,1,8204]);
-},{}],962:[function(require,module,exports){
+},{}],966:[function(require,module,exports){
 'use strict';
 
 const unicode = require('../common/unicode');
@@ -186849,7 +186911,7 @@ class Preprocessor {
 
 module.exports = Preprocessor;
 
-},{"../common/error-codes":943,"../common/unicode":946}],963:[function(require,module,exports){
+},{"../common/error-codes":947,"../common/unicode":950}],967:[function(require,module,exports){
 'use strict';
 
 const { DOCUMENT_MODE } = require('../common/html');
@@ -187072,7 +187134,7 @@ exports.updateNodeSourceCodeLocation = function(node, endLocation) {
     node.sourceCodeLocation = Object.assign(node.sourceCodeLocation, endLocation);
 };
 
-},{"../common/html":945}],964:[function(require,module,exports){
+},{"../common/html":949}],968:[function(require,module,exports){
 'use strict';
 
 module.exports = function mergeOptions(defaults, options) {
@@ -187087,7 +187149,7 @@ module.exports = function mergeOptions(defaults, options) {
     }, Object.create(null));
 };
 
-},{}],965:[function(require,module,exports){
+},{}],969:[function(require,module,exports){
 'use strict';
 
 class Mixin {
@@ -187128,7 +187190,7 @@ Mixin.install = function(host, Ctor, opts) {
 
 module.exports = Mixin;
 
-},{}],966:[function(require,module,exports){
+},{}],970:[function(require,module,exports){
 (function (process){(function (){
 // 'path' module extracted from Node.js v8.11.1 (only the posix part)
 // transplited with Babel
@@ -187661,7 +187723,7 @@ posix.posix = posix;
 module.exports = posix;
 
 }).call(this)}).call(this,require('_process'))
-},{"_process":974}],967:[function(require,module,exports){
+},{"_process":978}],971:[function(require,module,exports){
 'use strict';
 
 /* !
@@ -187964,11 +188026,11 @@ module.exports = {
   setPathValue: setPathValue,
 };
 
-},{}],968:[function(require,module,exports){
+},{}],972:[function(require,module,exports){
 exports.pbkdf2 = require('./lib/async')
 exports.pbkdf2Sync = require('./lib/sync')
 
-},{"./lib/async":969,"./lib/sync":972}],969:[function(require,module,exports){
+},{"./lib/async":973,"./lib/sync":976}],973:[function(require,module,exports){
 (function (global){(function (){
 var Buffer = require('safe-buffer').Buffer
 
@@ -188090,7 +188152,7 @@ module.exports = function (password, salt, iterations, keylen, digest, callback)
 }
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./default-encoding":970,"./precondition":971,"./sync":972,"./to-buffer":973,"safe-buffer":993}],970:[function(require,module,exports){
+},{"./default-encoding":974,"./precondition":975,"./sync":976,"./to-buffer":977,"safe-buffer":997}],974:[function(require,module,exports){
 (function (process,global){(function (){
 var defaultEncoding
 /* istanbul ignore next */
@@ -188106,7 +188168,7 @@ if (global.process && global.process.browser) {
 module.exports = defaultEncoding
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"_process":974}],971:[function(require,module,exports){
+},{"_process":978}],975:[function(require,module,exports){
 var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs
 
 module.exports = function (iterations, keylen) {
@@ -188127,7 +188189,7 @@ module.exports = function (iterations, keylen) {
   }
 }
 
-},{}],972:[function(require,module,exports){
+},{}],976:[function(require,module,exports){
 var md5 = require('create-hash/md5')
 var RIPEMD160 = require('ripemd160')
 var sha = require('sha.js')
@@ -188234,7 +188296,7 @@ function pbkdf2 (password, salt, iterations, keylen, digest) {
 
 module.exports = pbkdf2
 
-},{"./default-encoding":970,"./precondition":971,"./to-buffer":973,"create-hash/md5":166,"ripemd160":992,"safe-buffer":993,"sha.js":997}],973:[function(require,module,exports){
+},{"./default-encoding":974,"./precondition":975,"./to-buffer":977,"create-hash/md5":170,"ripemd160":996,"safe-buffer":997,"sha.js":1001}],977:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 
 module.exports = function (thing, encoding, name) {
@@ -188249,7 +188311,7 @@ module.exports = function (thing, encoding, name) {
   }
 }
 
-},{"safe-buffer":993}],974:[function(require,module,exports){
+},{"safe-buffer":997}],978:[function(require,module,exports){
 // shim for using process in browser
 var process = module.exports = {};
 
@@ -188435,7 +188497,7 @@ process.chdir = function (dir) {
 };
 process.umask = function() { return 0; };
 
-},{}],975:[function(require,module,exports){
+},{}],979:[function(require,module,exports){
 module.exports=[
 "ac",
 "com.ac",
@@ -197270,7 +197332,7 @@ module.exports=[
 "virtualserver.io",
 "enterprisecloud.nu"
 ]
-},{}],976:[function(require,module,exports){
+},{}],980:[function(require,module,exports){
 /*eslint no-var:0, prefer-arrow-callback: 0, object-shorthand: 0 */
 'use strict';
 
@@ -197541,7 +197603,7 @@ exports.isValid = function (domain) {
   return Boolean(parsed.domain && parsed.listed);
 };
 
-},{"./data/rules.json":975,"punycode":984}],977:[function(require,module,exports){
+},{"./data/rules.json":979,"punycode":988}],981:[function(require,module,exports){
 exports.publicEncrypt = require('./publicEncrypt')
 exports.privateDecrypt = require('./privateDecrypt')
 
@@ -197553,7 +197615,7 @@ exports.publicDecrypt = function publicDecrypt (key, buf) {
   return exports.privateDecrypt(key, buf, true)
 }
 
-},{"./privateDecrypt":980,"./publicEncrypt":981}],978:[function(require,module,exports){
+},{"./privateDecrypt":984,"./publicEncrypt":985}],982:[function(require,module,exports){
 var createHash = require('create-hash')
 var Buffer = require('safe-buffer').Buffer
 
@@ -197574,9 +197636,9 @@ function i2ops (c) {
   return out
 }
 
-},{"create-hash":165,"safe-buffer":993}],979:[function(require,module,exports){
-arguments[4][66][0].apply(exports,arguments)
-},{"buffer":77,"dup":66}],980:[function(require,module,exports){
+},{"create-hash":169,"safe-buffer":997}],983:[function(require,module,exports){
+arguments[4][70][0].apply(exports,arguments)
+},{"buffer":81,"dup":70}],984:[function(require,module,exports){
 var parseKeys = require('parse-asn1')
 var mgf = require('./mgf')
 var xor = require('./xor')
@@ -197683,7 +197745,7 @@ function compare (a, b) {
   return dif
 }
 
-},{"./mgf":978,"./withPublic":982,"./xor":983,"bn.js":979,"browserify-rsa":98,"create-hash":165,"parse-asn1":941,"safe-buffer":993}],981:[function(require,module,exports){
+},{"./mgf":982,"./withPublic":986,"./xor":987,"bn.js":983,"browserify-rsa":102,"create-hash":169,"parse-asn1":945,"safe-buffer":997}],985:[function(require,module,exports){
 var parseKeys = require('parse-asn1')
 var randomBytes = require('randombytes')
 var createHash = require('create-hash')
@@ -197773,7 +197835,7 @@ function nonZero (len) {
   return out
 }
 
-},{"./mgf":978,"./withPublic":982,"./xor":983,"bn.js":979,"browserify-rsa":98,"create-hash":165,"parse-asn1":941,"randombytes":990,"safe-buffer":993}],982:[function(require,module,exports){
+},{"./mgf":982,"./withPublic":986,"./xor":987,"bn.js":983,"browserify-rsa":102,"create-hash":169,"parse-asn1":945,"randombytes":994,"safe-buffer":997}],986:[function(require,module,exports){
 var BN = require('bn.js')
 var Buffer = require('safe-buffer').Buffer
 
@@ -197787,7 +197849,7 @@ function withPublic (paddedMsg, key) {
 
 module.exports = withPublic
 
-},{"bn.js":979,"safe-buffer":993}],983:[function(require,module,exports){
+},{"bn.js":983,"safe-buffer":997}],987:[function(require,module,exports){
 module.exports = function xor (a, b) {
   var len = a.length
   var i = -1
@@ -197797,7 +197859,7 @@ module.exports = function xor (a, b) {
   return a
 }
 
-},{}],984:[function(require,module,exports){
+},{}],988:[function(require,module,exports){
 (function (global){(function (){
 /*! https://mths.be/punycode v1.4.1 by @mathias */
 ;(function(root) {
@@ -198334,7 +198396,7 @@ module.exports = function xor (a, b) {
 }(this));
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],985:[function(require,module,exports){
+},{}],989:[function(require,module,exports){
 (function (Buffer){(function (){
 /**
  * Copyright (c) 2020, Peculiar Ventures, All rights reserved.
@@ -198665,7 +198727,7 @@ module.exports = function xor (a, b) {
 })));
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"buffer":124}],986:[function(require,module,exports){
+},{"buffer":128}],990:[function(require,module,exports){
 "use strict";
 
 Object.defineProperty(exports, "__esModule", {
@@ -199443,7 +199505,7 @@ function clearProps(object, propsArray) {
 }
 //**************************************************************************************
 
-},{}],987:[function(require,module,exports){
+},{}],991:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -199529,7 +199591,7 @@ var isArray = Array.isArray || function (xs) {
   return Object.prototype.toString.call(xs) === '[object Array]';
 };
 
-},{}],988:[function(require,module,exports){
+},{}],992:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -199616,13 +199678,13 @@ var objectKeys = Object.keys || function (obj) {
   return res;
 };
 
-},{}],989:[function(require,module,exports){
+},{}],993:[function(require,module,exports){
 'use strict';
 
 exports.decode = exports.parse = require('./decode');
 exports.encode = exports.stringify = require('./encode');
 
-},{"./decode":987,"./encode":988}],990:[function(require,module,exports){
+},{"./decode":991,"./encode":992}],994:[function(require,module,exports){
 (function (process,global){(function (){
 'use strict'
 
@@ -199676,7 +199738,7 @@ function randomBytes (size, cb) {
 }
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"_process":974,"safe-buffer":993}],991:[function(require,module,exports){
+},{"_process":978,"safe-buffer":997}],995:[function(require,module,exports){
 (function (process,global){(function (){
 'use strict'
 
@@ -199788,7 +199850,7 @@ function randomFillSync (buf, offset, size) {
 }
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"_process":974,"randombytes":990,"safe-buffer":993}],992:[function(require,module,exports){
+},{"_process":978,"randombytes":994,"safe-buffer":997}],996:[function(require,module,exports){
 'use strict'
 var Buffer = require('buffer').Buffer
 var inherits = require('inherits')
@@ -199953,7 +200015,7 @@ function fn5 (a, b, c, d, e, m, k, s) {
 
 module.exports = RIPEMD160
 
-},{"buffer":124,"hash-base":291,"inherits":328}],993:[function(require,module,exports){
+},{"buffer":128,"hash-base":295,"inherits":332}],997:[function(require,module,exports){
 /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
 /* eslint-disable node/no-deprecated-api */
 var buffer = require('buffer')
@@ -200020,7 +200082,7 @@ SafeBuffer.allocUnsafeSlow = function (size) {
   return buffer.SlowBuffer(size)
 }
 
-},{"buffer":124}],994:[function(require,module,exports){
+},{"buffer":128}],998:[function(require,module,exports){
 (function (process){(function (){
 /* eslint-disable node/no-deprecated-api */
 
@@ -200101,7 +200163,7 @@ if (!safer.constants) {
 module.exports = safer
 
 }).call(this)}).call(this,require('_process'))
-},{"_process":974,"buffer":124}],995:[function(require,module,exports){
+},{"_process":978,"buffer":128}],999:[function(require,module,exports){
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 const ed5 = require("xmlchars/xml/1.0/ed5");
@@ -202166,7 +202228,7 @@ class SaxesParser {
 }
 exports.SaxesParser = SaxesParser;
 
-},{"xmlchars/xml/1.0/ed5":1118,"xmlchars/xml/1.1/ed2":1119,"xmlchars/xmlns/1.0/ed3":1120}],996:[function(require,module,exports){
+},{"xmlchars/xml/1.0/ed5":1122,"xmlchars/xml/1.1/ed2":1123,"xmlchars/xmlns/1.0/ed3":1124}],1000:[function(require,module,exports){
 var Buffer = require('safe-buffer').Buffer
 
 // prototype class for hash functions
@@ -202249,7 +202311,7 @@ Hash.prototype._update = function () {
 
 module.exports = Hash
 
-},{"safe-buffer":993}],997:[function(require,module,exports){
+},{"safe-buffer":997}],1001:[function(require,module,exports){
 var exports = module.exports = function SHA (algorithm) {
   algorithm = algorithm.toLowerCase()
 
@@ -202266,7 +202328,7 @@ exports.sha256 = require('./sha256')
 exports.sha384 = require('./sha384')
 exports.sha512 = require('./sha512')
 
-},{"./sha":998,"./sha1":999,"./sha224":1000,"./sha256":1001,"./sha384":1002,"./sha512":1003}],998:[function(require,module,exports){
+},{"./sha":1002,"./sha1":1003,"./sha224":1004,"./sha256":1005,"./sha384":1006,"./sha512":1007}],1002:[function(require,module,exports){
 /*
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
  * in FIPS PUB 180-1
@@ -202362,7 +202424,7 @@ Sha.prototype._hash = function () {
 
 module.exports = Sha
 
-},{"./hash":996,"inherits":328,"safe-buffer":993}],999:[function(require,module,exports){
+},{"./hash":1000,"inherits":332,"safe-buffer":997}],1003:[function(require,module,exports){
 /*
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
  * in FIPS PUB 180-1
@@ -202463,7 +202525,7 @@ Sha1.prototype._hash = function () {
 
 module.exports = Sha1
 
-},{"./hash":996,"inherits":328,"safe-buffer":993}],1000:[function(require,module,exports){
+},{"./hash":1000,"inherits":332,"safe-buffer":997}],1004:[function(require,module,exports){
 /**
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  * in FIPS 180-2
@@ -202518,7 +202580,7 @@ Sha224.prototype._hash = function () {
 
 module.exports = Sha224
 
-},{"./hash":996,"./sha256":1001,"inherits":328,"safe-buffer":993}],1001:[function(require,module,exports){
+},{"./hash":1000,"./sha256":1005,"inherits":332,"safe-buffer":997}],1005:[function(require,module,exports){
 /**
  * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  * in FIPS 180-2
@@ -202655,7 +202717,7 @@ Sha256.prototype._hash = function () {
 
 module.exports = Sha256
 
-},{"./hash":996,"inherits":328,"safe-buffer":993}],1002:[function(require,module,exports){
+},{"./hash":1000,"inherits":332,"safe-buffer":997}],1006:[function(require,module,exports){
 var inherits = require('inherits')
 var SHA512 = require('./sha512')
 var Hash = require('./hash')
@@ -202714,7 +202776,7 @@ Sha384.prototype._hash = function () {
 
 module.exports = Sha384
 
-},{"./hash":996,"./sha512":1003,"inherits":328,"safe-buffer":993}],1003:[function(require,module,exports){
+},{"./hash":1000,"./sha512":1007,"inherits":332,"safe-buffer":997}],1007:[function(require,module,exports){
 var inherits = require('inherits')
 var Hash = require('./hash')
 var Buffer = require('safe-buffer').Buffer
@@ -202976,7 +203038,7 @@ Sha512.prototype._hash = function () {
 
 module.exports = Sha512
 
-},{"./hash":996,"inherits":328,"safe-buffer":993}],1004:[function(require,module,exports){
+},{"./hash":1000,"inherits":332,"safe-buffer":997}],1008:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -203107,35 +203169,35 @@ Stream.prototype.pipe = function(dest, options) {
   return dest;
 };
 
-},{"events":280,"inherits":328,"readable-stream/lib/_stream_duplex.js":1006,"readable-stream/lib/_stream_passthrough.js":1007,"readable-stream/lib/_stream_readable.js":1008,"readable-stream/lib/_stream_transform.js":1009,"readable-stream/lib/_stream_writable.js":1010,"readable-stream/lib/internal/streams/end-of-stream.js":1014,"readable-stream/lib/internal/streams/pipeline.js":1016}],1005:[function(require,module,exports){
-arguments[4][105][0].apply(exports,arguments)
-},{"dup":105}],1006:[function(require,module,exports){
-arguments[4][106][0].apply(exports,arguments)
-},{"./_stream_readable":1008,"./_stream_writable":1010,"_process":974,"dup":106,"inherits":328}],1007:[function(require,module,exports){
-arguments[4][107][0].apply(exports,arguments)
-},{"./_stream_transform":1009,"dup":107,"inherits":328}],1008:[function(require,module,exports){
-arguments[4][108][0].apply(exports,arguments)
-},{"../errors":1005,"./_stream_duplex":1006,"./internal/streams/async_iterator":1011,"./internal/streams/buffer_list":1012,"./internal/streams/destroy":1013,"./internal/streams/from":1015,"./internal/streams/state":1017,"./internal/streams/stream":1018,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],1009:[function(require,module,exports){
+},{"events":284,"inherits":332,"readable-stream/lib/_stream_duplex.js":1010,"readable-stream/lib/_stream_passthrough.js":1011,"readable-stream/lib/_stream_readable.js":1012,"readable-stream/lib/_stream_transform.js":1013,"readable-stream/lib/_stream_writable.js":1014,"readable-stream/lib/internal/streams/end-of-stream.js":1018,"readable-stream/lib/internal/streams/pipeline.js":1020}],1009:[function(require,module,exports){
 arguments[4][109][0].apply(exports,arguments)
-},{"../errors":1005,"./_stream_duplex":1006,"dup":109,"inherits":328}],1010:[function(require,module,exports){
+},{"dup":109}],1010:[function(require,module,exports){
 arguments[4][110][0].apply(exports,arguments)
-},{"../errors":1005,"./_stream_duplex":1006,"./internal/streams/destroy":1013,"./internal/streams/state":1017,"./internal/streams/stream":1018,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],1011:[function(require,module,exports){
+},{"./_stream_readable":1012,"./_stream_writable":1014,"_process":978,"dup":110,"inherits":332}],1011:[function(require,module,exports){
 arguments[4][111][0].apply(exports,arguments)
-},{"./end-of-stream":1014,"_process":974,"dup":111}],1012:[function(require,module,exports){
+},{"./_stream_transform":1013,"dup":111,"inherits":332}],1012:[function(require,module,exports){
 arguments[4][112][0].apply(exports,arguments)
-},{"buffer":124,"dup":112,"util":77}],1013:[function(require,module,exports){
+},{"../errors":1009,"./_stream_duplex":1010,"./internal/streams/async_iterator":1015,"./internal/streams/buffer_list":1016,"./internal/streams/destroy":1017,"./internal/streams/from":1019,"./internal/streams/state":1021,"./internal/streams/stream":1022,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],1013:[function(require,module,exports){
 arguments[4][113][0].apply(exports,arguments)
-},{"_process":974,"dup":113}],1014:[function(require,module,exports){
+},{"../errors":1009,"./_stream_duplex":1010,"dup":113,"inherits":332}],1014:[function(require,module,exports){
 arguments[4][114][0].apply(exports,arguments)
-},{"../../../errors":1005,"dup":114}],1015:[function(require,module,exports){
+},{"../errors":1009,"./_stream_duplex":1010,"./internal/streams/destroy":1017,"./internal/streams/state":1021,"./internal/streams/stream":1022,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],1015:[function(require,module,exports){
 arguments[4][115][0].apply(exports,arguments)
-},{"dup":115}],1016:[function(require,module,exports){
+},{"./end-of-stream":1018,"_process":978,"dup":115}],1016:[function(require,module,exports){
 arguments[4][116][0].apply(exports,arguments)
-},{"../../../errors":1005,"./end-of-stream":1014,"dup":116}],1017:[function(require,module,exports){
+},{"buffer":128,"dup":116,"util":81}],1017:[function(require,module,exports){
 arguments[4][117][0].apply(exports,arguments)
-},{"../../../errors":1005,"dup":117}],1018:[function(require,module,exports){
+},{"_process":978,"dup":117}],1018:[function(require,module,exports){
 arguments[4][118][0].apply(exports,arguments)
-},{"dup":118,"events":280}],1019:[function(require,module,exports){
+},{"../../../errors":1009,"dup":118}],1019:[function(require,module,exports){
+arguments[4][119][0].apply(exports,arguments)
+},{"dup":119}],1020:[function(require,module,exports){
+arguments[4][120][0].apply(exports,arguments)
+},{"../../../errors":1009,"./end-of-stream":1018,"dup":120}],1021:[function(require,module,exports){
+arguments[4][121][0].apply(exports,arguments)
+},{"../../../errors":1009,"dup":121}],1022:[function(require,module,exports){
+arguments[4][122][0].apply(exports,arguments)
+},{"dup":122,"events":284}],1023:[function(require,module,exports){
 (function (global){(function (){
 var ClientRequest = require('./lib/request')
 var response = require('./lib/response')
@@ -203223,7 +203285,7 @@ http.METHODS = [
 	'UNSUBSCRIBE'
 ]
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"./lib/request":1021,"./lib/response":1022,"builtin-status-codes":125,"url":1058,"xtend":1121}],1020:[function(require,module,exports){
+},{"./lib/request":1025,"./lib/response":1026,"builtin-status-codes":129,"url":1062,"xtend":1125}],1024:[function(require,module,exports){
 (function (global){(function (){
 exports.fetch = isFunction(global.fetch) && isFunction(global.ReadableStream)
 
@@ -203286,7 +203348,7 @@ function isFunction (value) {
 xhr = null // Help gc
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],1021:[function(require,module,exports){
+},{}],1025:[function(require,module,exports){
 (function (process,global,Buffer){(function (){
 var capability = require('./capability')
 var inherits = require('inherits')
@@ -203642,7 +203704,7 @@ var unsafeHeaders = [
 ]
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
-},{"./capability":1020,"./response":1022,"_process":974,"buffer":124,"inherits":328,"readable-stream":1037}],1022:[function(require,module,exports){
+},{"./capability":1024,"./response":1026,"_process":978,"buffer":128,"inherits":332,"readable-stream":1041}],1026:[function(require,module,exports){
 (function (process,global,Buffer){(function (){
 var capability = require('./capability')
 var inherits = require('inherits')
@@ -203857,37 +203919,37 @@ IncomingMessage.prototype._onXHRProgress = function (resetTimers) {
 }
 
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
-},{"./capability":1020,"_process":974,"buffer":124,"inherits":328,"readable-stream":1037}],1023:[function(require,module,exports){
-arguments[4][105][0].apply(exports,arguments)
-},{"dup":105}],1024:[function(require,module,exports){
-arguments[4][106][0].apply(exports,arguments)
-},{"./_stream_readable":1026,"./_stream_writable":1028,"_process":974,"dup":106,"inherits":328}],1025:[function(require,module,exports){
-arguments[4][107][0].apply(exports,arguments)
-},{"./_stream_transform":1027,"dup":107,"inherits":328}],1026:[function(require,module,exports){
-arguments[4][108][0].apply(exports,arguments)
-},{"../errors":1023,"./_stream_duplex":1024,"./internal/streams/async_iterator":1029,"./internal/streams/buffer_list":1030,"./internal/streams/destroy":1031,"./internal/streams/from":1033,"./internal/streams/state":1035,"./internal/streams/stream":1036,"_process":974,"buffer":124,"dup":108,"events":280,"inherits":328,"string_decoder/":1038,"util":77}],1027:[function(require,module,exports){
+},{"./capability":1024,"_process":978,"buffer":128,"inherits":332,"readable-stream":1041}],1027:[function(require,module,exports){
 arguments[4][109][0].apply(exports,arguments)
-},{"../errors":1023,"./_stream_duplex":1024,"dup":109,"inherits":328}],1028:[function(require,module,exports){
+},{"dup":109}],1028:[function(require,module,exports){
 arguments[4][110][0].apply(exports,arguments)
-},{"../errors":1023,"./_stream_duplex":1024,"./internal/streams/destroy":1031,"./internal/streams/state":1035,"./internal/streams/stream":1036,"_process":974,"buffer":124,"dup":110,"inherits":328,"util-deprecate":1060}],1029:[function(require,module,exports){
+},{"./_stream_readable":1030,"./_stream_writable":1032,"_process":978,"dup":110,"inherits":332}],1029:[function(require,module,exports){
 arguments[4][111][0].apply(exports,arguments)
-},{"./end-of-stream":1032,"_process":974,"dup":111}],1030:[function(require,module,exports){
+},{"./_stream_transform":1031,"dup":111,"inherits":332}],1030:[function(require,module,exports){
 arguments[4][112][0].apply(exports,arguments)
-},{"buffer":124,"dup":112,"util":77}],1031:[function(require,module,exports){
+},{"../errors":1027,"./_stream_duplex":1028,"./internal/streams/async_iterator":1033,"./internal/streams/buffer_list":1034,"./internal/streams/destroy":1035,"./internal/streams/from":1037,"./internal/streams/state":1039,"./internal/streams/stream":1040,"_process":978,"buffer":128,"dup":112,"events":284,"inherits":332,"string_decoder/":1042,"util":81}],1031:[function(require,module,exports){
 arguments[4][113][0].apply(exports,arguments)
-},{"_process":974,"dup":113}],1032:[function(require,module,exports){
+},{"../errors":1027,"./_stream_duplex":1028,"dup":113,"inherits":332}],1032:[function(require,module,exports){
 arguments[4][114][0].apply(exports,arguments)
-},{"../../../errors":1023,"dup":114}],1033:[function(require,module,exports){
+},{"../errors":1027,"./_stream_duplex":1028,"./internal/streams/destroy":1035,"./internal/streams/state":1039,"./internal/streams/stream":1040,"_process":978,"buffer":128,"dup":114,"inherits":332,"util-deprecate":1064}],1033:[function(require,module,exports){
 arguments[4][115][0].apply(exports,arguments)
-},{"dup":115}],1034:[function(require,module,exports){
+},{"./end-of-stream":1036,"_process":978,"dup":115}],1034:[function(require,module,exports){
 arguments[4][116][0].apply(exports,arguments)
-},{"../../../errors":1023,"./end-of-stream":1032,"dup":116}],1035:[function(require,module,exports){
+},{"buffer":128,"dup":116,"util":81}],1035:[function(require,module,exports){
 arguments[4][117][0].apply(exports,arguments)
-},{"../../../errors":1023,"dup":117}],1036:[function(require,module,exports){
+},{"_process":978,"dup":117}],1036:[function(require,module,exports){
 arguments[4][118][0].apply(exports,arguments)
-},{"dup":118,"events":280}],1037:[function(require,module,exports){
+},{"../../../errors":1027,"dup":118}],1037:[function(require,module,exports){
 arguments[4][119][0].apply(exports,arguments)
-},{"./lib/_stream_duplex.js":1024,"./lib/_stream_passthrough.js":1025,"./lib/_stream_readable.js":1026,"./lib/_stream_transform.js":1027,"./lib/_stream_writable.js":1028,"./lib/internal/streams/end-of-stream.js":1032,"./lib/internal/streams/pipeline.js":1034,"dup":119}],1038:[function(require,module,exports){
+},{"dup":119}],1038:[function(require,module,exports){
+arguments[4][120][0].apply(exports,arguments)
+},{"../../../errors":1027,"./end-of-stream":1036,"dup":120}],1039:[function(require,module,exports){
+arguments[4][121][0].apply(exports,arguments)
+},{"../../../errors":1027,"dup":121}],1040:[function(require,module,exports){
+arguments[4][122][0].apply(exports,arguments)
+},{"dup":122,"events":284}],1041:[function(require,module,exports){
+arguments[4][123][0].apply(exports,arguments)
+},{"./lib/_stream_duplex.js":1028,"./lib/_stream_passthrough.js":1029,"./lib/_stream_readable.js":1030,"./lib/_stream_transform.js":1031,"./lib/_stream_writable.js":1032,"./lib/internal/streams/end-of-stream.js":1036,"./lib/internal/streams/pipeline.js":1038,"dup":123}],1042:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -204184,7 +204246,7 @@ function simpleWrite(buf) {
 function simpleEnd(buf) {
   return buf && buf.length ? this.write(buf) : '';
 }
-},{"safe-buffer":993}],1039:[function(require,module,exports){
+},{"safe-buffer":997}],1043:[function(require,module,exports){
 'use strict';
 
 /**
@@ -205024,7 +205086,7 @@ class SymbolTree {
 module.exports = SymbolTree;
 SymbolTree.TreePosition = TreePosition;
 
-},{"./SymbolTreeNode":1040,"./TreeIterator":1041,"./TreePosition":1042}],1040:[function(require,module,exports){
+},{"./SymbolTreeNode":1044,"./TreeIterator":1045,"./TreePosition":1046}],1044:[function(require,module,exports){
 'use strict';
 
 module.exports = class SymbolTreeNode {
@@ -205080,7 +205142,7 @@ module.exports = class SymbolTreeNode {
         }
 };
 
-},{}],1041:[function(require,module,exports){
+},{}],1045:[function(require,module,exports){
 'use strict';
 
 const TREE = Symbol();
@@ -205151,7 +205213,7 @@ Object.freeze(TreeIterator.prototype);
 
 module.exports = TreeIterator;
 
-},{}],1042:[function(require,module,exports){
+},{}],1046:[function(require,module,exports){
 'use strict';
 
 /* eslint-disable sort-keys */
@@ -205164,7 +205226,7 @@ module.exports = Object.freeze({
         CONTAINED_BY: 16,
 });
 
-},{}],1043:[function(require,module,exports){
+},{}],1047:[function(require,module,exports){
 (function (setImmediate,clearImmediate){(function (){
 var nextTick = require('process/browser.js').nextTick;
 var apply = Function.prototype.apply;
@@ -205243,7 +205305,7 @@ exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate :
   delete immediateIds[id];
 };
 }).call(this)}).call(this,require("timers").setImmediate,require("timers").clearImmediate)
-},{"process/browser.js":974,"timers":1043}],1044:[function(require,module,exports){
+},{"process/browser.js":978,"timers":1047}],1048:[function(require,module,exports){
 /*!
  * Copyright (c) 2015, Salesforce.com, Inc.
  * All rights reserved.
@@ -206916,7 +206978,7 @@ exports.permutePath = permutePath;
 exports.canonicalDomain = canonicalDomain;
 exports.PrefixSecurityEnum = PrefixSecurityEnum;
 
-},{"./memstore":1045,"./pathMatch":1046,"./permuteDomain":1047,"./pubsuffix-psl":1048,"./store":1049,"./version":1050,"punycode":984,"universalify":1057,"url":1058,"util":1063}],1045:[function(require,module,exports){
+},{"./memstore":1049,"./pathMatch":1050,"./permuteDomain":1051,"./pubsuffix-psl":1052,"./store":1053,"./version":1054,"punycode":988,"universalify":1061,"url":1062,"util":1067}],1049:[function(require,module,exports){
 /*!
  * Copyright (c) 2015, Salesforce.com, Inc.
  * All rights reserved.
@@ -207108,7 +207170,7 @@ class MemoryCookieStore extends Store {
 
 exports.MemoryCookieStore = MemoryCookieStore;
 
-},{"./pathMatch":1046,"./permuteDomain":1047,"./store":1049,"universalify":1057,"util":1063}],1046:[function(require,module,exports){
+},{"./pathMatch":1050,"./permuteDomain":1051,"./store":1053,"universalify":1061,"util":1067}],1050:[function(require,module,exports){
 /*!
  * Copyright (c) 2015, Salesforce.com, Inc.
  * All rights reserved.
@@ -207171,7 +207233,7 @@ function pathMatch(reqPath, cookiePath) {
 
 exports.pathMatch = pathMatch;
 
-},{}],1047:[function(require,module,exports){
+},{}],1051:[function(require,module,exports){
 /*!
  * Copyright (c) 2015, Salesforce.com, Inc.
  * All rights reserved.
@@ -207243,7 +207305,7 @@ function permuteDomain(domain, allowSpecialUseDomain) {
 
 exports.permuteDomain = permuteDomain;
 
-},{"./pubsuffix-psl":1048}],1048:[function(require,module,exports){
+},{"./pubsuffix-psl":1052}],1052:[function(require,module,exports){
 /*!
  * Copyright (c) 2018, Salesforce.com, Inc.
  * All rights reserved.
@@ -207283,7 +207345,7 @@ function getPublicSuffix(domain) {
 
 exports.getPublicSuffix = getPublicSuffix;
 
-},{"psl":976}],1049:[function(require,module,exports){
+},{"psl":980}],1053:[function(require,module,exports){
 /*!
  * Copyright (c) 2015, Salesforce.com, Inc.
  * All rights reserved.
@@ -207361,11 +207423,11 @@ class Store {
 
 exports.Store = Store;
 
-},{}],1050:[function(require,module,exports){
+},{}],1054:[function(require,module,exports){
 // generated by genversion
 module.exports = '4.0.0'
 
-},{}],1051:[function(require,module,exports){
+},{}],1055:[function(require,module,exports){
 "use strict";
 
 const punycode = require("punycode");
@@ -207664,9 +207726,9 @@ module.exports = {
   toUnicode
 };
 
-},{"./lib/mappingTable.json":1052,"./lib/regexes.js":1053,"./lib/statusMapping.js":1054,"punycode":984}],1052:[function(require,module,exports){
+},{"./lib/mappingTable.json":1056,"./lib/regexes.js":1057,"./lib/statusMapping.js":1058,"punycode":988}],1056:[function(require,module,exports){
 module.exports=[[[0,44],4],[[45,46],2],[47,4],[[48,57],2],[[58,64],4],[65,1,"a"],[66,1,"b"],[67,1,"c"],[68,1,"d"],[69,1,"e"],[70,1,"f"],[71,1,"g"],[72,1,"h"],[73,1,"i"],[74,1,"j"],[75,1,"k"],[76,1,"l"],[77,1,"m"],[78,1,"n"],[79,1,"o"],[80,1,"p"],[81,1,"q"],[82,1,"r"],[83,1,"s"],[84,1,"t"],[85,1,"u"],[86,1,"v"],[87,1,"w"],[88,1,"x"],[89,1,"y"],[90,1,"z"],[[91,96],4],[[97,122],2],[[123,127],4],[[128,159],3],[160,5," "],[[161,167],2],[168,5," ̈"],[169,2],[170,1,"a"],[[171,172],2],[173,7],[174,2],[175,5," ̄"],[[176,177],2],[178,1,"2"],[179,1,"3"],[180,5," ́"],[181,1,"μ"],[182,2],[183,2],[184,5," ̧"],[185,1,"1"],[186,1,"o"],[187,2],[188,1,"1⁄4"],[189,1,"1⁄2"],[190,1,"3⁄4"],[191,2],[192,1,"à"],[193,1,"á"],[194,1,"â"],[195,1,"ã"],[196,1,"ä"],[197,1,"å"],[198,1,"æ"],[199,1,"ç"],[200,1,"è"],[201,1,"é"],[202,1,"ê"],[203,1,"ë"],[204,1,"ì"],[205,1,"í"],[206,1,"î"],[207,1,"ï"],[208,1,"ð"],[209,1,"ñ"],[210,1,"ò"],[211,1,"ó"],[212,1,"ô"],[213,1,"õ"],[214,1,"ö"],[215,2],[216,1,"ø"],[217,1,"ù"],[218,1,"ú"],[219,1,"û"],[220,1,"ü"],[221,1,"ý"],[222,1,"þ"],[223,6,"ss"],[[224,246],2],[247,2],[[248,255],2],[256,1,"ā"],[257,2],[258,1,"ă"],[259,2],[260,1,"ą"],[261,2],[262,1,"ć"],[263,2],[264,1,"ĉ"],[265,2],[266,1,"ċ"],[267,2],[268,1,"č"],[269,2],[270,1,"ď"],[271,2],[272,1,"đ"],[273,2],[274,1,"ē"],[275,2],[276,1,"ĕ"],[277,2],[278,1,"ė"],[279,2],[280,1,"ę"],[281,2],[282,1,"ě"],[283,2],[284,1,"ĝ"],[285,2],[286,1,"ğ"],[287,2],[288,1,"ġ"],[289,2],[290,1,"ģ"],[291,2],[292,1,"ĥ"],[293,2],[294,1,"ħ"],[295,2],[296,1,"ĩ"],[297,2],[298,1,"ī"],[299,2],[300,1,"ĭ"],[301,2],[302,1,"į"],[303,2],[304,1,"i̇"],[305,2],[[306,307],1,"ij"],[308,1,"ĵ"],[309,2],[310,1,"ķ"],[[311,312],2],[313,1,"ĺ"],[314,2],[315,1,"ļ"],[316,2],[317,1,"ľ"],[318,2],[[319,320],1,"l·"],[321,1,"ł"],[322,2],[323,1,"ń"],[324,2],[325,1,"ņ"],[326,2],[327,1,"ň"],[328,2],[329,1,"ʼn"],[330,1,"ŋ"],[331,2],[332,1,"ō"],[333,2],[334,1,"ŏ"],[335,2],[336,1,"ő"],[337,2],[338,1,"œ"],[339,2],[340,1,"ŕ"],[341,2],[342,1,"ŗ"],[343,2],[344,1,"ř"],[345,2],[346,1,"ś"],[347,2],[348,1,"ŝ"],[349,2],[350,1,"ş"],[351,2],[352,1,"š"],[353,2],[354,1,"ţ"],[355,2],[356,1,"ť"],[357,2],[358,1,"ŧ"],[359,2],[360,1,"ũ"],[361,2],[362,1,"ū"],[363,2],[364,1,"ŭ"],[365,2],[366,1,"ů"],[367,2],[368,1,"ű"],[369,2],[370,1,"ų"],[371,2],[372,1,"ŵ"],[373,2],[374,1,"ŷ"],[375,2],[376,1,"ÿ"],[377,1,"ź"],[378,2],[379,1,"ż"],[380,2],[381,1,"ž"],[382,2],[383,1,"s"],[384,2],[385,1,"ɓ"],[386,1,"ƃ"],[387,2],[388,1,"ƅ"],[389,2],[390,1,"ɔ"],[391,1,"ƈ"],[392,2],[393,1,"ɖ"],[394,1,"ɗ"],[395,1,"ƌ"],[[396,397],2],[398,1,"ǝ"],[399,1,"ə"],[400,1,"ɛ"],[401,1,"ƒ"],[402,2],[403,1,"ɠ"],[404,1,"ɣ"],[405,2],[406,1,"ɩ"],[407,1,"ɨ"],[408,1,"ƙ"],[[409,411],2],[412,1,"ɯ"],[413,1,"ɲ"],[414,2],[415,1,"ɵ"],[416,1,"ơ"],[417,2],[418,1,"ƣ"],[419,2],[420,1,"ƥ"],[421,2],[422,1,"ʀ"],[423,1,"ƨ"],[424,2],[425,1,"ʃ"],[[426,427],2],[428,1,"ƭ"],[429,2],[430,1,"ʈ"],[431,1,"ư"],[432,2],[433,1,"ʊ"],[434,1,"ʋ"],[435,1,"ƴ"],[436,2],[437,1,"ƶ"],[438,2],[439,1,"ʒ"],[440,1,"ƹ"],[[441,443],2],[444,1,"ƽ"],[[445,451],2],[[452,454],1,"dž"],[[455,457],1,"lj"],[[458,460],1,"nj"],[461,1,"ǎ"],[462,2],[463,1,"ǐ"],[464,2],[465,1,"ǒ"],[466,2],[467,1,"ǔ"],[468,2],[469,1,"ǖ"],[470,2],[471,1,"ǘ"],[472,2],[473,1,"ǚ"],[474,2],[475,1,"ǜ"],[[476,477],2],[478,1,"ǟ"],[479,2],[480,1,"ǡ"],[481,2],[482,1,"ǣ"],[483,2],[484,1,"ǥ"],[485,2],[486,1,"ǧ"],[487,2],[488,1,"ǩ"],[489,2],[490,1,"ǫ"],[491,2],[492,1,"ǭ"],[493,2],[494,1,"ǯ"],[[495,496],2],[[497,499],1,"dz"],[500,1,"ǵ"],[501,2],[502,1,"ƕ"],[503,1,"ƿ"],[504,1,"ǹ"],[505,2],[506,1,"ǻ"],[507,2],[508,1,"ǽ"],[509,2],[510,1,"ǿ"],[511,2],[512,1,"ȁ"],[513,2],[514,1,"ȃ"],[515,2],[516,1,"ȅ"],[517,2],[518,1,"ȇ"],[519,2],[520,1,"ȉ"],[521,2],[522,1,"ȋ"],[523,2],[524,1,"ȍ"],[525,2],[526,1,"ȏ"],[527,2],[528,1,"ȑ"],[529,2],[530,1,"ȓ"],[531,2],[532,1,"ȕ"],[533,2],[534,1,"ȗ"],[535,2],[536,1,"ș"],[537,2],[538,1,"ț"],[539,2],[540,1,"ȝ"],[541,2],[542,1,"ȟ"],[543,2],[544,1,"ƞ"],[545,2],[546,1,"ȣ"],[547,2],[548,1,"ȥ"],[549,2],[550,1,"ȧ"],[551,2],[552,1,"ȩ"],[553,2],[554,1,"ȫ"],[555,2],[556,1,"ȭ"],[557,2],[558,1,"ȯ"],[559,2],[560,1,"ȱ"],[561,2],[562,1,"ȳ"],[563,2],[[564,566],2],[[567,569],2],[570,1,"ⱥ"],[571,1,"ȼ"],[572,2],[573,1,"ƚ"],[574,1,"ⱦ"],[[575,576],2],[577,1,"ɂ"],[578,2],[579,1,"ƀ"],[580,1,"ʉ"],[581,1,"ʌ"],[582,1,"ɇ"],[583,2],[584,1,"ɉ"],[585,2],[586,1,"ɋ"],[587,2],[588,1,"ɍ"],[589,2],[590,1,"ɏ"],[591,2],[[592,680],2],[[681,685],2],[[686,687],2],[688,1,"h"],[689,1,"ɦ"],[690,1,"j"],[691,1,"r"],[692,1,"ɹ"],[693,1,"ɻ"],[694,1,"ʁ"],[695,1,"w"],[696,1,"y"],[[697,705],2],[[706,709],2],[[710,721],2],[[722,727],2],[728,5," ̆"],[729,5," ̇"],[730,5," ̊"],[731,5," ̨"],[732,5," ̃"],[733,5," ̋"],[734,2],[735,2],[736,1,"ɣ"],[737,1,"l"],[738,1,"s"],[739,1,"x"],[740,1,"ʕ"],[[741,745],2],[[746,747],2],[748,2],[749,2],[750,2],[[751,767],2],[[768,831],2],[832,1,"̀"],[833,1,"́"],[834,2],[835,1,"̓"],[836,1,"̈́"],[837,1,"ι"],[[838,846],2],[847,7],[[848,855],2],[[856,860],2],[[861,863],2],[[864,865],2],[866,2],[[867,879],2],[880,1,"ͱ"],[881,2],[882,1,"ͳ"],[883,2],[884,1,"ʹ"],[885,2],[886,1,"ͷ"],[887,2],[[888,889],3],[890,5," ι"],[[891,893],2],[894,5,";"],[895,1,"ϳ"],[[896,899],3],[900,5," ́"],[901,5," ̈́"],[902,1,"ά"],[903,1,"·"],[904,1,"έ"],[905,1,"ή"],[906,1,"ί"],[907,3],[908,1,"ό"],[909,3],[910,1,"ύ"],[911,1,"ώ"],[912,2],[913,1,"α"],[914,1,"β"],[915,1,"γ"],[916,1,"δ"],[917,1,"ε"],[918,1,"ζ"],[919,1,"η"],[920,1,"θ"],[921,1,"ι"],[922,1,"κ"],[923,1,"λ"],[924,1,"μ"],[925,1,"ν"],[926,1,"ξ"],[927,1,"ο"],[928,1,"π"],[929,1,"ρ"],[930,3],[931,1,"σ"],[932,1,"τ"],[933,1,"υ"],[934,1,"φ"],[935,1,"χ"],[936,1,"ψ"],[937,1,"ω"],[938,1,"ϊ"],[939,1,"ϋ"],[[940,961],2],[962,6,"σ"],[[963,974],2],[975,1,"ϗ"],[976,1,"β"],[977,1,"θ"],[978,1,"υ"],[979,1,"ύ"],[980,1,"ϋ"],[981,1,"φ"],[982,1,"π"],[983,2],[984,1,"ϙ"],[985,2],[986,1,"ϛ"],[987,2],[988,1,"ϝ"],[989,2],[990,1,"ϟ"],[991,2],[992,1,"ϡ"],[993,2],[994,1,"ϣ"],[995,2],[996,1,"ϥ"],[997,2],[998,1,"ϧ"],[999,2],[1000,1,"ϩ"],[1001,2],[1002,1,"ϫ"],[1003,2],[1004,1,"ϭ"],[1005,2],[1006,1,"ϯ"],[1007,2],[1008,1,"κ"],[1009,1,"ρ"],[1010,1,"σ"],[1011,2],[1012,1,"θ"],[1013,1,"ε"],[1014,2],[1015,1,"ϸ"],[1016,2],[1017,1,"σ"],[1018,1,"ϻ"],[1019,2],[1020,2],[1021,1,"ͻ"],[1022,1,"ͼ"],[1023,1,"ͽ"],[1024,1,"ѐ"],[1025,1,"ё"],[1026,1,"ђ"],[1027,1,"ѓ"],[1028,1,"є"],[1029,1,"ѕ"],[1030,1,"і"],[1031,1,"ї"],[1032,1,"ј"],[1033,1,"љ"],[1034,1,"њ"],[1035,1,"ћ"],[1036,1,"ќ"],[1037,1,"ѝ"],[1038,1,"ў"],[1039,1,"џ"],[1040,1,"а"],[1041,1,"б"],[1042,1,"в"],[1043,1,"г"],[1044,1,"д"],[1045,1,"е"],[1046,1,"ж"],[1047,1,"з"],[1048,1,"и"],[1049,1,"й"],[1050,1,"к"],[1051,1,"л"],[1052,1,"м"],[1053,1,"н"],[1054,1,"о"],[1055,1,"п"],[1056,1,"р"],[1057,1,"с"],[1058,1,"т"],[1059,1,"у"],[1060,1,"ф"],[1061,1,"х"],[1062,1,"ц"],[1063,1,"ч"],[1064,1,"ш"],[1065,1,"щ"],[1066,1,"ъ"],[1067,1,"ы"],[1068,1,"ь"],[1069,1,"э"],[1070,1,"ю"],[1071,1,"я"],[[1072,1103],2],[1104,2],[[1105,1116],2],[1117,2],[[1118,1119],2],[1120,1,"ѡ"],[1121,2],[1122,1,"ѣ"],[1123,2],[1124,1,"ѥ"],[1125,2],[1126,1,"ѧ"],[1127,2],[1128,1,"ѩ"],[1129,2],[1130,1,"ѫ"],[1131,2],[1132,1,"ѭ"],[1133,2],[1134,1,"ѯ"],[1135,2],[1136,1,"ѱ"],[1137,2],[1138,1,"ѳ"],[1139,2],[1140,1,"ѵ"],[1141,2],[1142,1,"ѷ"],[1143,2],[1144,1,"ѹ"],[1145,2],[1146,1,"ѻ"],[1147,2],[1148,1,"ѽ"],[1149,2],[1150,1,"ѿ"],[1151,2],[1152,1,"ҁ"],[1153,2],[1154,2],[[1155,1158],2],[1159,2],[[1160,1161],2],[1162,1,"ҋ"],[1163,2],[1164,1,"ҍ"],[1165,2],[1166,1,"ҏ"],[1167,2],[1168,1,"ґ"],[1169,2],[1170,1,"ғ"],[1171,2],[1172,1,"ҕ"],[1173,2],[1174,1,"җ"],[1175,2],[1176,1,"ҙ"],[1177,2],[1178,1,"қ"],[1179,2],[1180,1,"ҝ"],[1181,2],[1182,1,"ҟ"],[1183,2],[1184,1,"ҡ"],[1185,2],[1186,1,"ң"],[1187,2],[1188,1,"ҥ"],[1189,2],[1190,1,"ҧ"],[1191,2],[1192,1,"ҩ"],[1193,2],[1194,1,"ҫ"],[1195,2],[1196,1,"ҭ"],[1197,2],[1198,1,"ү"],[1199,2],[1200,1,"ұ"],[1201,2],[1202,1,"ҳ"],[1203,2],[1204,1,"ҵ"],[1205,2],[1206,1,"ҷ"],[1207,2],[1208,1,"ҹ"],[1209,2],[1210,1,"һ"],[1211,2],[1212,1,"ҽ"],[1213,2],[1214,1,"ҿ"],[1215,2],[1216,3],[1217,1,"ӂ"],[1218,2],[1219,1,"ӄ"],[1220,2],[1221,1,"ӆ"],[1222,2],[1223,1,"ӈ"],[1224,2],[1225,1,"ӊ"],[1226,2],[1227,1,"ӌ"],[1228,2],[1229,1,"ӎ"],[1230,2],[1231,2],[1232,1,"ӑ"],[1233,2],[1234,1,"ӓ"],[1235,2],[1236,1,"ӕ"],[1237,2],[1238,1,"ӗ"],[1239,2],[1240,1,"ә"],[1241,2],[1242,1,"ӛ"],[1243,2],[1244,1,"ӝ"],[1245,2],[1246,1,"ӟ"],[1247,2],[1248,1,"ӡ"],[1249,2],[1250,1,"ӣ"],[1251,2],[1252,1,"ӥ"],[1253,2],[1254,1,"ӧ"],[1255,2],[1256,1,"ө"],[1257,2],[1258,1,"ӫ"],[1259,2],[1260,1,"ӭ"],[1261,2],[1262,1,"ӯ"],[1263,2],[1264,1,"ӱ"],[1265,2],[1266,1,"ӳ"],[1267,2],[1268,1,"ӵ"],[1269,2],[1270,1,"ӷ"],[1271,2],[1272,1,"ӹ"],[1273,2],[1274,1,"ӻ"],[1275,2],[1276,1,"ӽ"],[1277,2],[1278,1,"ӿ"],[1279,2],[1280,1,"ԁ"],[1281,2],[1282,1,"ԃ"],[1283,2],[1284,1,"ԅ"],[1285,2],[1286,1,"ԇ"],[1287,2],[1288,1,"ԉ"],[1289,2],[1290,1,"ԋ"],[1291,2],[1292,1,"ԍ"],[1293,2],[1294,1,"ԏ"],[1295,2],[1296,1,"ԑ"],[1297,2],[1298,1,"ԓ"],[1299,2],[1300,1,"ԕ"],[1301,2],[1302,1,"ԗ"],[1303,2],[1304,1,"ԙ"],[1305,2],[1306,1,"ԛ"],[1307,2],[1308,1,"ԝ"],[1309,2],[1310,1,"ԟ"],[1311,2],[1312,1,"ԡ"],[1313,2],[1314,1,"ԣ"],[1315,2],[1316,1,"ԥ"],[1317,2],[1318,1,"ԧ"],[1319,2],[1320,1,"ԩ"],[1321,2],[1322,1,"ԫ"],[1323,2],[1324,1,"ԭ"],[1325,2],[1326,1,"ԯ"],[1327,2],[1328,3],[1329,1,"ա"],[1330,1,"բ"],[1331,1,"գ"],[1332,1,"դ"],[1333,1,"ե"],[1334,1,"զ"],[1335,1,"է"],[1336,1,"ը"],[1337,1,"թ"],[1338,1,"ժ"],[1339,1,"ի"],[1340,1,"լ"],[1341,1,"խ"],[1342,1,"ծ"],[1343,1,"կ"],[1344,1,"հ"],[1345,1,"ձ"],[1346,1,"ղ"],[1347,1,"ճ"],[1348,1,"մ"],[1349,1,"յ"],[1350,1,"ն"],[1351,1,"շ"],[1352,1,"ո"],[1353,1,"չ"],[1354,1,"պ"],[1355,1,"ջ"],[1356,1,"ռ"],[1357,1,"ս"],[1358,1,"վ"],[1359,1,"տ"],[1360,1,"ր"],[1361,1,"ց"],[1362,1,"ւ"],[1363,1,"փ"],[1364,1,"ք"],[1365,1,"օ"],[1366,1,"ֆ"],[[1367,1368],3],[1369,2],[[1370,1375],2],[1376,2],[[1377,1414],2],[1415,1,"եւ"],[1416,2],[1417,2],[1418,2],[[1419,1420],3],[[1421,1422],2],[1423,2],[1424,3],[[1425,1441],2],[1442,2],[[1443,1455],2],[[1456,1465],2],[1466,2],[[1467,1469],2],[1470,2],[1471,2],[1472,2],[[1473,1474],2],[1475,2],[1476,2],[1477,2],[1478,2],[1479,2],[[1480,1487],3],[[1488,1514],2],[[1515,1518],3],[1519,2],[[1520,1524],2],[[1525,1535],3],[[1536,1539],3],[1540,3],[1541,3],[[1542,1546],2],[1547,2],[1548,2],[[1549,1551],2],[[1552,1557],2],[[1558,1562],2],[1563,2],[1564,3],[1565,3],[1566,2],[1567,2],[1568,2],[[1569,1594],2],[[1595,1599],2],[1600,2],[[1601,1618],2],[[1619,1621],2],[[1622,1624],2],[[1625,1630],2],[1631,2],[[1632,1641],2],[[1642,1645],2],[[1646,1647],2],[[1648,1652],2],[1653,1,"اٴ"],[1654,1,"وٴ"],[1655,1,"ۇٴ"],[1656,1,"يٴ"],[[1657,1719],2],[[1720,1721],2],[[1722,1726],2],[1727,2],[[1728,1742],2],[1743,2],[[1744,1747],2],[1748,2],[[1749,1756],2],[1757,3],[1758,2],[[1759,1768],2],[1769,2],[[1770,1773],2],[[1774,1775],2],[[1776,1785],2],[[1786,1790],2],[1791,2],[[1792,1805],2],[1806,3],[1807,3],[[1808,1836],2],[[1837,1839],2],[[1840,1866],2],[[1867,1868],3],[[1869,1871],2],[[1872,1901],2],[[1902,1919],2],[[1920,1968],2],[1969,2],[[1970,1983],3],[[1984,2037],2],[[2038,2042],2],[[2043,2044],3],[2045,2],[[2046,2047],2],[[2048,2093],2],[[2094,2095],3],[[2096,2110],2],[2111,3],[[2112,2139],2],[[2140,2141],3],[2142,2],[2143,3],[[2144,2154],2],[[2155,2207],3],[2208,2],[2209,2],[[2210,2220],2],[[2221,2226],2],[[2227,2228],2],[2229,3],[[2230,2237],2],[[2238,2247],2],[[2248,2258],3],[2259,2],[[2260,2273],2],[2274,3],[2275,2],[[2276,2302],2],[2303,2],[2304,2],[[2305,2307],2],[2308,2],[[2309,2361],2],[[2362,2363],2],[[2364,2381],2],[2382,2],[2383,2],[[2384,2388],2],[2389,2],[[2390,2391],2],[2392,1,"क़"],[2393,1,"ख़"],[2394,1,"ग़"],[2395,1,"ज़"],[2396,1,"ड़"],[2397,1,"ढ़"],[2398,1,"फ़"],[2399,1,"य़"],[[2400,2403],2],[[2404,2405],2],[[2406,2415],2],[2416,2],[[2417,2418],2],[[2419,2423],2],[2424,2],[[2425,2426],2],[[2427,2428],2],[2429,2],[[2430,2431],2],[2432,2],[[2433,2435],2],[2436,3],[[2437,2444],2],[[2445,2446],3],[[2447,2448],2],[[2449,2450],3],[[2451,2472],2],[2473,3],[[2474,2480],2],[2481,3],[2482,2],[[2483,2485],3],[[2486,2489],2],[[2490,2491],3],[2492,2],[2493,2],[[2494,2500],2],[[2501,2502],3],[[2503,2504],2],[[2505,2506],3],[[2507,2509],2],[2510,2],[[2511,2518],3],[2519,2],[[2520,2523],3],[2524,1,"ড়"],[2525,1,"ঢ়"],[2526,3],[2527,1,"য়"],[[2528,2531],2],[[2532,2533],3],[[2534,2545],2],[[2546,2554],2],[2555,2],[2556,2],[2557,2],[2558,2],[[2559,2560],3],[2561,2],[2562,2],[2563,2],[2564,3],[[2565,2570],2],[[2571,2574],3],[[2575,2576],2],[[2577,2578],3],[[2579,2600],2],[2601,3],[[2602,2608],2],[2609,3],[2610,2],[2611,1,"ਲ਼"],[2612,3],[2613,2],[2614,1,"ਸ਼"],[2615,3],[[2616,2617],2],[[2618,2619],3],[2620,2],[2621,3],[[2622,2626],2],[[2627,2630],3],[[2631,2632],2],[[2633,2634],3],[[2635,2637],2],[[2638,2640],3],[2641,2],[[2642,2648],3],[2649,1,"ਖ਼"],[2650,1,"ਗ਼"],[2651,1,"ਜ਼"],[2652,2],[2653,3],[2654,1,"ਫ਼"],[[2655,2661],3],[[2662,2676],2],[2677,2],[2678,2],[[2679,2688],3],[[2689,2691],2],[2692,3],[[2693,2699],2],[2700,2],[2701,2],[2702,3],[[2703,2705],2],[2706,3],[[2707,2728],2],[2729,3],[[2730,2736],2],[2737,3],[[2738,2739],2],[2740,3],[[2741,2745],2],[[2746,2747],3],[[2748,2757],2],[2758,3],[[2759,2761],2],[2762,3],[[2763,2765],2],[[2766,2767],3],[2768,2],[[2769,2783],3],[2784,2],[[2785,2787],2],[[2788,2789],3],[[2790,2799],2],[2800,2],[2801,2],[[2802,2808],3],[2809,2],[[2810,2815],2],[2816,3],[[2817,2819],2],[2820,3],[[2821,2828],2],[[2829,2830],3],[[2831,2832],2],[[2833,2834],3],[[2835,2856],2],[2857,3],[[2858,2864],2],[2865,3],[[2866,2867],2],[2868,3],[2869,2],[[2870,2873],2],[[2874,2875],3],[[2876,2883],2],[2884,2],[[2885,2886],3],[[2887,2888],2],[[2889,2890],3],[[2891,2893],2],[[2894,2900],3],[2901,2],[[2902,2903],2],[[2904,2907],3],[2908,1,"ଡ଼"],[2909,1,"ଢ଼"],[2910,3],[[2911,2913],2],[[2914,2915],2],[[2916,2917],3],[[2918,2927],2],[2928,2],[2929,2],[[2930,2935],2],[[2936,2945],3],[[2946,2947],2],[2948,3],[[2949,2954],2],[[2955,2957],3],[[2958,2960],2],[2961,3],[[2962,2965],2],[[2966,2968],3],[[2969,2970],2],[2971,3],[2972,2],[2973,3],[[2974,2975],2],[[2976,2978],3],[[2979,2980],2],[[2981,2983],3],[[2984,2986],2],[[2987,2989],3],[[2990,2997],2],[2998,2],[[2999,3001],2],[[3002,3005],3],[[3006,3010],2],[[3011,3013],3],[[3014,3016],2],[3017,3],[[3018,3021],2],[[3022,3023],3],[3024,2],[[3025,3030],3],[3031,2],[[3032,3045],3],[3046,2],[[3047,3055],2],[[3056,3058],2],[[3059,3066],2],[[3067,3071],3],[3072,2],[[3073,3075],2],[3076,2],[[3077,3084],2],[3085,3],[[3086,3088],2],[3089,3],[[3090,3112],2],[3113,3],[[3114,3123],2],[3124,2],[[3125,3129],2],[[3130,3132],3],[3133,2],[[3134,3140],2],[3141,3],[[3142,3144],2],[3145,3],[[3146,3149],2],[[3150,3156],3],[[3157,3158],2],[3159,3],[[3160,3161],2],[3162,2],[[3163,3167],3],[[3168,3169],2],[[3170,3171],2],[[3172,3173],3],[[3174,3183],2],[[3184,3190],3],[3191,2],[[3192,3199],2],[3200,2],[3201,2],[[3202,3203],2],[3204,2],[[3205,3212],2],[3213,3],[[3214,3216],2],[3217,3],[[3218,3240],2],[3241,3],[[3242,3251],2],[3252,3],[[3253,3257],2],[[3258,3259],3],[[3260,3261],2],[[3262,3268],2],[3269,3],[[3270,3272],2],[3273,3],[[3274,3277],2],[[3278,3284],3],[[3285,3286],2],[[3287,3293],3],[3294,2],[3295,3],[[3296,3297],2],[[3298,3299],2],[[3300,3301],3],[[3302,3311],2],[3312,3],[[3313,3314],2],[[3315,3327],3],[3328,2],[3329,2],[[3330,3331],2],[3332,2],[[3333,3340],2],[3341,3],[[3342,3344],2],[3345,3],[[3346,3368],2],[3369,2],[[3370,3385],2],[3386,2],[[3387,3388],2],[3389,2],[[3390,3395],2],[3396,2],[3397,3],[[3398,3400],2],[3401,3],[[3402,3405],2],[3406,2],[3407,2],[[3408,3411],3],[[3412,3414],2],[3415,2],[[3416,3422],2],[3423,2],[[3424,3425],2],[[3426,3427],2],[[3428,3429],3],[[3430,3439],2],[[3440,3445],2],[[3446,3448],2],[3449,2],[[3450,3455],2],[3456,3],[3457,2],[[3458,3459],2],[3460,3],[[3461,3478],2],[[3479,3481],3],[[3482,3505],2],[3506,3],[[3507,3515],2],[3516,3],[3517,2],[[3518,3519],3],[[3520,3526],2],[[3527,3529],3],[3530,2],[[3531,3534],3],[[3535,3540],2],[3541,3],[3542,2],[3543,3],[[3544,3551],2],[[3552,3557],3],[[3558,3567],2],[[3568,3569],3],[[3570,3571],2],[3572,2],[[3573,3584],3],[[3585,3634],2],[3635,1,"ํา"],[[3636,3642],2],[[3643,3646],3],[3647,2],[[3648,3662],2],[3663,2],[[3664,3673],2],[[3674,3675],2],[[3676,3712],3],[[3713,3714],2],[3715,3],[3716,2],[3717,3],[3718,2],[[3719,3720],2],[3721,2],[3722,2],[3723,3],[3724,2],[3725,2],[[3726,3731],2],[[3732,3735],2],[3736,2],[[3737,3743],2],[3744,2],[[3745,3747],2],[3748,3],[3749,2],[3750,3],[3751,2],[[3752,3753],2],[[3754,3755],2],[3756,2],[[3757,3762],2],[3763,1,"ໍາ"],[[3764,3769],2],[3770,2],[[3771,3773],2],[[3774,3775],3],[[3776,3780],2],[3781,3],[3782,2],[3783,3],[[3784,3789],2],[[3790,3791],3],[[3792,3801],2],[[3802,3803],3],[3804,1,"ຫນ"],[3805,1,"ຫມ"],[[3806,3807],2],[[3808,3839],3],[3840,2],[[3841,3850],2],[3851,2],[3852,1,"་"],[[3853,3863],2],[[3864,3865],2],[[3866,3871],2],[[3872,3881],2],[[3882,3892],2],[3893,2],[3894,2],[3895,2],[3896,2],[3897,2],[[3898,3901],2],[[3902,3906],2],[3907,1,"གྷ"],[[3908,3911],2],[3912,3],[[3913,3916],2],[3917,1,"ཌྷ"],[[3918,3921],2],[3922,1,"དྷ"],[[3923,3926],2],[3927,1,"བྷ"],[[3928,3931],2],[3932,1,"ཛྷ"],[[3933,3944],2],[3945,1,"ཀྵ"],[3946,2],[[3947,3948],2],[[3949,3952],3],[[3953,3954],2],[3955,1,"ཱི"],[3956,2],[3957,1,"ཱུ"],[3958,1,"ྲྀ"],[3959,1,"ྲཱྀ"],[3960,1,"ླྀ"],[3961,1,"ླཱྀ"],[[3962,3968],2],[3969,1,"ཱྀ"],[[3970,3972],2],[3973,2],[[3974,3979],2],[[3980,3983],2],[[3984,3986],2],[3987,1,"ྒྷ"],[[3988,3989],2],[3990,2],[3991,2],[3992,3],[[3993,3996],2],[3997,1,"ྜྷ"],[[3998,4001],2],[4002,1,"ྡྷ"],[[4003,4006],2],[4007,1,"ྦྷ"],[[4008,4011],2],[4012,1,"ྫྷ"],[4013,2],[[4014,4016],2],[[4017,4023],2],[4024,2],[4025,1,"ྐྵ"],[[4026,4028],2],[4029,3],[[4030,4037],2],[4038,2],[[4039,4044],2],[4045,3],[4046,2],[4047,2],[[4048,4049],2],[[4050,4052],2],[[4053,4056],2],[[4057,4058],2],[[4059,4095],3],[[4096,4129],2],[4130,2],[[4131,4135],2],[4136,2],[[4137,4138],2],[4139,2],[[4140,4146],2],[[4147,4149],2],[[4150,4153],2],[[4154,4159],2],[[4160,4169],2],[[4170,4175],2],[[4176,4185],2],[[4186,4249],2],[[4250,4253],2],[[4254,4255],2],[[4256,4293],3],[4294,3],[4295,1,"ⴧ"],[[4296,4300],3],[4301,1,"ⴭ"],[[4302,4303],3],[[4304,4342],2],[[4343,4344],2],[[4345,4346],2],[4347,2],[4348,1,"ნ"],[[4349,4351],2],[[4352,4441],2],[[4442,4446],2],[[4447,4448],3],[[4449,4514],2],[[4515,4519],2],[[4520,4601],2],[[4602,4607],2],[[4608,4614],2],[4615,2],[[4616,4678],2],[4679,2],[4680,2],[4681,3],[[4682,4685],2],[[4686,4687],3],[[4688,4694],2],[4695,3],[4696,2],[4697,3],[[4698,4701],2],[[4702,4703],3],[[4704,4742],2],[4743,2],[4744,2],[4745,3],[[4746,4749],2],[[4750,4751],3],[[4752,4782],2],[4783,2],[4784,2],[4785,3],[[4786,4789],2],[[4790,4791],3],[[4792,4798],2],[4799,3],[4800,2],[4801,3],[[4802,4805],2],[[4806,4807],3],[[4808,4814],2],[4815,2],[[4816,4822],2],[4823,3],[[4824,4846],2],[4847,2],[[4848,4878],2],[4879,2],[4880,2],[4881,3],[[4882,4885],2],[[4886,4887],3],[[4888,4894],2],[4895,2],[[4896,4934],2],[4935,2],[[4936,4954],2],[[4955,4956],3],[[4957,4958],2],[4959,2],[4960,2],[[4961,4988],2],[[4989,4991],3],[[4992,5007],2],[[5008,5017],2],[[5018,5023],3],[[5024,5108],2],[5109,2],[[5110,5111],3],[5112,1,"Ᏸ"],[5113,1,"Ᏹ"],[5114,1,"Ᏺ"],[5115,1,"Ᏻ"],[5116,1,"Ᏼ"],[5117,1,"Ᏽ"],[[5118,5119],3],[5120,2],[[5121,5740],2],[[5741,5742],2],[[5743,5750],2],[[5751,5759],2],[5760,3],[[5761,5786],2],[[5787,5788],2],[[5789,5791],3],[[5792,5866],2],[[5867,5872],2],[[5873,5880],2],[[5881,5887],3],[[5888,5900],2],[5901,3],[[5902,5908],2],[[5909,5919],3],[[5920,5940],2],[[5941,5942],2],[[5943,5951],3],[[5952,5971],2],[[5972,5983],3],[[5984,5996],2],[5997,3],[[5998,6000],2],[6001,3],[[6002,6003],2],[[6004,6015],3],[[6016,6067],2],[[6068,6069],3],[[6070,6099],2],[[6100,6102],2],[6103,2],[[6104,6107],2],[6108,2],[6109,2],[[6110,6111],3],[[6112,6121],2],[[6122,6127],3],[[6128,6137],2],[[6138,6143],3],[[6144,6149],2],[6150,3],[[6151,6154],2],[[6155,6157],7],[6158,3],[6159,3],[[6160,6169],2],[[6170,6175],3],[[6176,6263],2],[6264,2],[[6265,6271],3],[[6272,6313],2],[6314,2],[[6315,6319],3],[[6320,6389],2],[[6390,6399],3],[[6400,6428],2],[[6429,6430],2],[6431,3],[[6432,6443],2],[[6444,6447],3],[[6448,6459],2],[[6460,6463],3],[6464,2],[[6465,6467],3],[[6468,6469],2],[[6470,6509],2],[[6510,6511],3],[[6512,6516],2],[[6517,6527],3],[[6528,6569],2],[[6570,6571],2],[[6572,6575],3],[[6576,6601],2],[[6602,6607],3],[[6608,6617],2],[6618,2],[[6619,6621],3],[[6622,6623],2],[[6624,6655],2],[[6656,6683],2],[[6684,6685],3],[[6686,6687],2],[[6688,6750],2],[6751,3],[[6752,6780],2],[[6781,6782],3],[[6783,6793],2],[[6794,6799],3],[[6800,6809],2],[[6810,6815],3],[[6816,6822],2],[6823,2],[[6824,6829],2],[[6830,6831],3],[[6832,6845],2],[6846,2],[[6847,6848],2],[[6849,6911],3],[[6912,6987],2],[[6988,6991],3],[[6992,7001],2],[[7002,7018],2],[[7019,7027],2],[[7028,7036],2],[[7037,7039],3],[[7040,7082],2],[[7083,7085],2],[[7086,7097],2],[[7098,7103],2],[[7104,7155],2],[[7156,7163],3],[[7164,7167],2],[[7168,7223],2],[[7224,7226],3],[[7227,7231],2],[[7232,7241],2],[[7242,7244],3],[[7245,7293],2],[[7294,7295],2],[7296,1,"в"],[7297,1,"д"],[7298,1,"о"],[7299,1,"с"],[[7300,7301],1,"т"],[7302,1,"ъ"],[7303,1,"ѣ"],[7304,1,"ꙋ"],[[7305,7311],3],[7312,1,"ა"],[7313,1,"ბ"],[7314,1,"გ"],[7315,1,"დ"],[7316,1,"ე"],[7317,1,"ვ"],[7318,1,"ზ"],[7319,1,"თ"],[7320,1,"ი"],[7321,1,"კ"],[7322,1,"ლ"],[7323,1,"მ"],[7324,1,"ნ"],[7325,1,"ო"],[7326,1,"პ"],[7327,1,"ჟ"],[7328,1,"რ"],[7329,1,"ს"],[7330,1,"ტ"],[7331,1,"უ"],[7332,1,"ფ"],[7333,1,"ქ"],[7334,1,"ღ"],[7335,1,"ყ"],[7336,1,"შ"],[7337,1,"ჩ"],[7338,1,"ც"],[7339,1,"ძ"],[7340,1,"წ"],[7341,1,"ჭ"],[7342,1,"ხ"],[7343,1,"ჯ"],[7344,1,"ჰ"],[7345,1,"ჱ"],[7346,1,"ჲ"],[7347,1,"ჳ"],[7348,1,"ჴ"],[7349,1,"ჵ"],[7350,1,"ჶ"],[7351,1,"ჷ"],[7352,1,"ჸ"],[7353,1,"ჹ"],[7354,1,"ჺ"],[[7355,7356],3],[7357,1,"ჽ"],[7358,1,"ჾ"],[7359,1,"ჿ"],[[7360,7367],2],[[7368,7375],3],[[7376,7378],2],[7379,2],[[7380,7410],2],[[7411,7414],2],[7415,2],[[7416,7417],2],[7418,2],[[7419,7423],3],[[7424,7467],2],[7468,1,"a"],[7469,1,"æ"],[7470,1,"b"],[7471,2],[7472,1,"d"],[7473,1,"e"],[7474,1,"ǝ"],[7475,1,"g"],[7476,1,"h"],[7477,1,"i"],[7478,1,"j"],[7479,1,"k"],[7480,1,"l"],[7481,1,"m"],[7482,1,"n"],[7483,2],[7484,1,"o"],[7485,1,"ȣ"],[7486,1,"p"],[7487,1,"r"],[7488,1,"t"],[7489,1,"u"],[7490,1,"w"],[7491,1,"a"],[7492,1,"ɐ"],[7493,1,"ɑ"],[7494,1,"ᴂ"],[7495,1,"b"],[7496,1,"d"],[7497,1,"e"],[7498,1,"ə"],[7499,1,"ɛ"],[7500,1,"ɜ"],[7501,1,"g"],[7502,2],[7503,1,"k"],[7504,1,"m"],[7505,1,"ŋ"],[7506,1,"o"],[7507,1,"ɔ"],[7508,1,"ᴖ"],[7509,1,"ᴗ"],[7510,1,"p"],[7511,1,"t"],[7512,1,"u"],[7513,1,"ᴝ"],[7514,1,"ɯ"],[7515,1,"v"],[7516,1,"ᴥ"],[7517,1,"β"],[7518,1,"γ"],[7519,1,"δ"],[7520,1,"φ"],[7521,1,"χ"],[7522,1,"i"],[7523,1,"r"],[7524,1,"u"],[7525,1,"v"],[7526,1,"β"],[7527,1,"γ"],[7528,1,"ρ"],[7529,1,"φ"],[7530,1,"χ"],[7531,2],[[7532,7543],2],[7544,1,"н"],[[7545,7578],2],[7579,1,"ɒ"],[7580,1,"c"],[7581,1,"ɕ"],[7582,1,"ð"],[7583,1,"ɜ"],[7584,1,"f"],[7585,1,"ɟ"],[7586,1,"ɡ"],[7587,1,"ɥ"],[7588,1,"ɨ"],[7589,1,"ɩ"],[7590,1,"ɪ"],[7591,1,"ᵻ"],[7592,1,"ʝ"],[7593,1,"ɭ"],[7594,1,"ᶅ"],[7595,1,"ʟ"],[7596,1,"ɱ"],[7597,1,"ɰ"],[7598,1,"ɲ"],[7599,1,"ɳ"],[7600,1,"ɴ"],[7601,1,"ɵ"],[7602,1,"ɸ"],[7603,1,"ʂ"],[7604,1,"ʃ"],[7605,1,"ƫ"],[7606,1,"ʉ"],[7607,1,"ʊ"],[7608,1,"ᴜ"],[7609,1,"ʋ"],[7610,1,"ʌ"],[7611,1,"z"],[7612,1,"ʐ"],[7613,1,"ʑ"],[7614,1,"ʒ"],[7615,1,"θ"],[[7616,7619],2],[[7620,7626],2],[[7627,7654],2],[[7655,7669],2],[[7670,7673],2],[7674,3],[7675,2],[7676,2],[7677,2],[[7678,7679],2],[7680,1,"ḁ"],[7681,2],[7682,1,"ḃ"],[7683,2],[7684,1,"ḅ"],[7685,2],[7686,1,"ḇ"],[7687,2],[7688,1,"ḉ"],[7689,2],[7690,1,"ḋ"],[7691,2],[7692,1,"ḍ"],[7693,2],[7694,1,"ḏ"],[7695,2],[7696,1,"ḑ"],[7697,2],[7698,1,"ḓ"],[7699,2],[7700,1,"ḕ"],[7701,2],[7702,1,"ḗ"],[7703,2],[7704,1,"ḙ"],[7705,2],[7706,1,"ḛ"],[7707,2],[7708,1,"ḝ"],[7709,2],[7710,1,"ḟ"],[7711,2],[7712,1,"ḡ"],[7713,2],[7714,1,"ḣ"],[7715,2],[7716,1,"ḥ"],[7717,2],[7718,1,"ḧ"],[7719,2],[7720,1,"ḩ"],[7721,2],[7722,1,"ḫ"],[7723,2],[7724,1,"ḭ"],[7725,2],[7726,1,"ḯ"],[7727,2],[7728,1,"ḱ"],[7729,2],[7730,1,"ḳ"],[7731,2],[7732,1,"ḵ"],[7733,2],[7734,1,"ḷ"],[7735,2],[7736,1,"ḹ"],[7737,2],[7738,1,"ḻ"],[7739,2],[7740,1,"ḽ"],[7741,2],[7742,1,"ḿ"],[7743,2],[7744,1,"ṁ"],[7745,2],[7746,1,"ṃ"],[7747,2],[7748,1,"ṅ"],[7749,2],[7750,1,"ṇ"],[7751,2],[7752,1,"ṉ"],[7753,2],[7754,1,"ṋ"],[7755,2],[7756,1,"ṍ"],[7757,2],[7758,1,"ṏ"],[7759,2],[7760,1,"ṑ"],[7761,2],[7762,1,"ṓ"],[7763,2],[7764,1,"ṕ"],[7765,2],[7766,1,"ṗ"],[7767,2],[7768,1,"ṙ"],[7769,2],[7770,1,"ṛ"],[7771,2],[7772,1,"ṝ"],[7773,2],[7774,1,"ṟ"],[7775,2],[7776,1,"ṡ"],[7777,2],[7778,1,"ṣ"],[7779,2],[7780,1,"ṥ"],[7781,2],[7782,1,"ṧ"],[7783,2],[7784,1,"ṩ"],[7785,2],[7786,1,"ṫ"],[7787,2],[7788,1,"ṭ"],[7789,2],[7790,1,"ṯ"],[7791,2],[7792,1,"ṱ"],[7793,2],[7794,1,"ṳ"],[7795,2],[7796,1,"ṵ"],[7797,2],[7798,1,"ṷ"],[7799,2],[7800,1,"ṹ"],[7801,2],[7802,1,"ṻ"],[7803,2],[7804,1,"ṽ"],[7805,2],[7806,1,"ṿ"],[7807,2],[7808,1,"ẁ"],[7809,2],[7810,1,"ẃ"],[7811,2],[7812,1,"ẅ"],[7813,2],[7814,1,"ẇ"],[7815,2],[7816,1,"ẉ"],[7817,2],[7818,1,"ẋ"],[7819,2],[7820,1,"ẍ"],[7821,2],[7822,1,"ẏ"],[7823,2],[7824,1,"ẑ"],[7825,2],[7826,1,"ẓ"],[7827,2],[7828,1,"ẕ"],[[7829,7833],2],[7834,1,"aʾ"],[7835,1,"ṡ"],[[7836,7837],2],[7838,1,"ss"],[7839,2],[7840,1,"ạ"],[7841,2],[7842,1,"ả"],[7843,2],[7844,1,"ấ"],[7845,2],[7846,1,"ầ"],[7847,2],[7848,1,"ẩ"],[7849,2],[7850,1,"ẫ"],[7851,2],[7852,1,"ậ"],[7853,2],[7854,1,"ắ"],[7855,2],[7856,1,"ằ"],[7857,2],[7858,1,"ẳ"],[7859,2],[7860,1,"ẵ"],[7861,2],[7862,1,"ặ"],[7863,2],[7864,1,"ẹ"],[7865,2],[7866,1,"ẻ"],[7867,2],[7868,1,"ẽ"],[7869,2],[7870,1,"ế"],[7871,2],[7872,1,"ề"],[7873,2],[7874,1,"ể"],[7875,2],[7876,1,"ễ"],[7877,2],[7878,1,"ệ"],[7879,2],[7880,1,"ỉ"],[7881,2],[7882,1,"ị"],[7883,2],[7884,1,"ọ"],[7885,2],[7886,1,"ỏ"],[7887,2],[7888,1,"ố"],[7889,2],[7890,1,"ồ"],[7891,2],[7892,1,"ổ"],[7893,2],[7894,1,"ỗ"],[7895,2],[7896,1,"ộ"],[7897,2],[7898,1,"ớ"],[7899,2],[7900,1,"ờ"],[7901,2],[7902,1,"ở"],[7903,2],[7904,1,"ỡ"],[7905,2],[7906,1,"ợ"],[7907,2],[7908,1,"ụ"],[7909,2],[7910,1,"ủ"],[7911,2],[7912,1,"ứ"],[7913,2],[7914,1,"ừ"],[7915,2],[7916,1,"ử"],[7917,2],[7918,1,"ữ"],[7919,2],[7920,1,"ự"],[7921,2],[7922,1,"ỳ"],[7923,2],[7924,1,"ỵ"],[7925,2],[7926,1,"ỷ"],[7927,2],[7928,1,"ỹ"],[7929,2],[7930,1,"ỻ"],[7931,2],[7932,1,"ỽ"],[7933,2],[7934,1,"ỿ"],[7935,2],[[7936,7943],2],[7944,1,"ἀ"],[7945,1,"ἁ"],[7946,1,"ἂ"],[7947,1,"ἃ"],[7948,1,"ἄ"],[7949,1,"ἅ"],[7950,1,"ἆ"],[7951,1,"ἇ"],[[7952,7957],2],[[7958,7959],3],[7960,1,"ἐ"],[7961,1,"ἑ"],[7962,1,"ἒ"],[7963,1,"ἓ"],[7964,1,"ἔ"],[7965,1,"ἕ"],[[7966,7967],3],[[7968,7975],2],[7976,1,"ἠ"],[7977,1,"ἡ"],[7978,1,"ἢ"],[7979,1,"ἣ"],[7980,1,"ἤ"],[7981,1,"ἥ"],[7982,1,"ἦ"],[7983,1,"ἧ"],[[7984,7991],2],[7992,1,"ἰ"],[7993,1,"ἱ"],[7994,1,"ἲ"],[7995,1,"ἳ"],[7996,1,"ἴ"],[7997,1,"ἵ"],[7998,1,"ἶ"],[7999,1,"ἷ"],[[8000,8005],2],[[8006,8007],3],[8008,1,"ὀ"],[8009,1,"ὁ"],[8010,1,"ὂ"],[8011,1,"ὃ"],[8012,1,"ὄ"],[8013,1,"ὅ"],[[8014,8015],3],[[8016,8023],2],[8024,3],[8025,1,"ὑ"],[8026,3],[8027,1,"ὓ"],[8028,3],[8029,1,"ὕ"],[8030,3],[8031,1,"ὗ"],[[8032,8039],2],[8040,1,"ὠ"],[8041,1,"ὡ"],[8042,1,"ὢ"],[8043,1,"ὣ"],[8044,1,"ὤ"],[8045,1,"ὥ"],[8046,1,"ὦ"],[8047,1,"ὧ"],[8048,2],[8049,1,"ά"],[8050,2],[8051,1,"έ"],[8052,2],[8053,1,"ή"],[8054,2],[8055,1,"ί"],[8056,2],[8057,1,"ό"],[8058,2],[8059,1,"ύ"],[8060,2],[8061,1,"ώ"],[[8062,8063],3],[8064,1,"ἀι"],[8065,1,"ἁι"],[8066,1,"ἂι"],[8067,1,"ἃι"],[8068,1,"ἄι"],[8069,1,"ἅι"],[8070,1,"ἆι"],[8071,1,"ἇι"],[8072,1,"ἀι"],[8073,1,"ἁι"],[8074,1,"ἂι"],[8075,1,"ἃι"],[8076,1,"ἄι"],[8077,1,"ἅι"],[8078,1,"ἆι"],[8079,1,"ἇι"],[8080,1,"ἠι"],[8081,1,"ἡι"],[8082,1,"ἢι"],[8083,1,"ἣι"],[8084,1,"ἤι"],[8085,1,"ἥι"],[8086,1,"ἦι"],[8087,1,"ἧι"],[8088,1,"ἠι"],[8089,1,"ἡι"],[8090,1,"ἢι"],[8091,1,"ἣι"],[8092,1,"ἤι"],[8093,1,"ἥι"],[8094,1,"ἦι"],[8095,1,"ἧι"],[8096,1,"ὠι"],[8097,1,"ὡι"],[8098,1,"ὢι"],[8099,1,"ὣι"],[8100,1,"ὤι"],[8101,1,"ὥι"],[8102,1,"ὦι"],[8103,1,"ὧι"],[8104,1,"ὠι"],[8105,1,"ὡι"],[8106,1,"ὢι"],[8107,1,"ὣι"],[8108,1,"ὤι"],[8109,1,"ὥι"],[8110,1,"ὦι"],[8111,1,"ὧι"],[[8112,8113],2],[8114,1,"ὰι"],[8115,1,"αι"],[8116,1,"άι"],[8117,3],[8118,2],[8119,1,"ᾶι"],[8120,1,"ᾰ"],[8121,1,"ᾱ"],[8122,1,"ὰ"],[8123,1,"ά"],[8124,1,"αι"],[8125,5," ̓"],[8126,1,"ι"],[8127,5," ̓"],[8128,5," ͂"],[8129,5," ̈͂"],[8130,1,"ὴι"],[8131,1,"ηι"],[8132,1,"ήι"],[8133,3],[8134,2],[8135,1,"ῆι"],[8136,1,"ὲ"],[8137,1,"έ"],[8138,1,"ὴ"],[8139,1,"ή"],[8140,1,"ηι"],[8141,5," ̓̀"],[8142,5," ̓́"],[8143,5," ̓͂"],[[8144,8146],2],[8147,1,"ΐ"],[[8148,8149],3],[[8150,8151],2],[8152,1,"ῐ"],[8153,1,"ῑ"],[8154,1,"ὶ"],[8155,1,"ί"],[8156,3],[8157,5," ̔̀"],[8158,5," ̔́"],[8159,5," ̔͂"],[[8160,8162],2],[8163,1,"ΰ"],[[8164,8167],2],[8168,1,"ῠ"],[8169,1,"ῡ"],[8170,1,"ὺ"],[8171,1,"ύ"],[8172,1,"ῥ"],[8173,5," ̈̀"],[8174,5," ̈́"],[8175,5,"`"],[[8176,8177],3],[8178,1,"ὼι"],[8179,1,"ωι"],[8180,1,"ώι"],[8181,3],[8182,2],[8183,1,"ῶι"],[8184,1,"ὸ"],[8185,1,"ό"],[8186,1,"ὼ"],[8187,1,"ώ"],[8188,1,"ωι"],[8189,5," ́"],[8190,5," ̔"],[8191,3],[[8192,8202],5," "],[8203,7],[[8204,8205],6,""],[[8206,8207],3],[8208,2],[8209,1,"‐"],[[8210,8214],2],[8215,5," ̳"],[[8216,8227],2],[[8228,8230],3],[8231,2],[[8232,8238],3],[8239,5," "],[[8240,8242],2],[8243,1,"′′"],[8244,1,"′′′"],[8245,2],[8246,1,"‵‵"],[8247,1,"‵‵‵"],[[8248,8251],2],[8252,5,"!!"],[8253,2],[8254,5," ̅"],[[8255,8262],2],[8263,5,"??"],[8264,5,"?!"],[8265,5,"!?"],[[8266,8269],2],[[8270,8274],2],[[8275,8276],2],[[8277,8278],2],[8279,1,"′′′′"],[[8280,8286],2],[8287,5," "],[8288,7],[[8289,8291],3],[8292,7],[8293,3],[[8294,8297],3],[[8298,8303],3],[8304,1,"0"],[8305,1,"i"],[[8306,8307],3],[8308,1,"4"],[8309,1,"5"],[8310,1,"6"],[8311,1,"7"],[8312,1,"8"],[8313,1,"9"],[8314,5,"+"],[8315,1,"−"],[8316,5,"="],[8317,5,"("],[8318,5,")"],[8319,1,"n"],[8320,1,"0"],[8321,1,"1"],[8322,1,"2"],[8323,1,"3"],[8324,1,"4"],[8325,1,"5"],[8326,1,"6"],[8327,1,"7"],[8328,1,"8"],[8329,1,"9"],[8330,5,"+"],[8331,1,"−"],[8332,5,"="],[8333,5,"("],[8334,5,")"],[8335,3],[8336,1,"a"],[8337,1,"e"],[8338,1,"o"],[8339,1,"x"],[8340,1,"ə"],[8341,1,"h"],[8342,1,"k"],[8343,1,"l"],[8344,1,"m"],[8345,1,"n"],[8346,1,"p"],[8347,1,"s"],[8348,1,"t"],[[8349,8351],3],[[8352,8359],2],[8360,1,"rs"],[[8361,8362],2],[8363,2],[8364,2],[[8365,8367],2],[[8368,8369],2],[[8370,8373],2],[[8374,8376],2],[8377,2],[8378,2],[[8379,8381],2],[8382,2],[8383,2],[[8384,8399],3],[[8400,8417],2],[[8418,8419],2],[[8420,8426],2],[8427,2],[[8428,8431],2],[8432,2],[[8433,8447],3],[8448,5,"a/c"],[8449,5,"a/s"],[8450,1,"c"],[8451,1,"°c"],[8452,2],[8453,5,"c/o"],[8454,5,"c/u"],[8455,1,"ɛ"],[8456,2],[8457,1,"°f"],[8458,1,"g"],[[8459,8462],1,"h"],[8463,1,"ħ"],[[8464,8465],1,"i"],[[8466,8467],1,"l"],[8468,2],[8469,1,"n"],[8470,1,"no"],[[8471,8472],2],[8473,1,"p"],[8474,1,"q"],[[8475,8477],1,"r"],[[8478,8479],2],[8480,1,"sm"],[8481,1,"tel"],[8482,1,"tm"],[8483,2],[8484,1,"z"],[8485,2],[8486,1,"ω"],[8487,2],[8488,1,"z"],[8489,2],[8490,1,"k"],[8491,1,"å"],[8492,1,"b"],[8493,1,"c"],[8494,2],[[8495,8496],1,"e"],[8497,1,"f"],[8498,3],[8499,1,"m"],[8500,1,"o"],[8501,1,"א"],[8502,1,"ב"],[8503,1,"ג"],[8504,1,"ד"],[8505,1,"i"],[8506,2],[8507,1,"fax"],[8508,1,"π"],[[8509,8510],1,"γ"],[8511,1,"π"],[8512,1,"∑"],[[8513,8516],2],[[8517,8518],1,"d"],[8519,1,"e"],[8520,1,"i"],[8521,1,"j"],[[8522,8523],2],[8524,2],[8525,2],[8526,2],[8527,2],[8528,1,"1⁄7"],[8529,1,"1⁄9"],[8530,1,"1⁄10"],[8531,1,"1⁄3"],[8532,1,"2⁄3"],[8533,1,"1⁄5"],[8534,1,"2⁄5"],[8535,1,"3⁄5"],[8536,1,"4⁄5"],[8537,1,"1⁄6"],[8538,1,"5⁄6"],[8539,1,"1⁄8"],[8540,1,"3⁄8"],[8541,1,"5⁄8"],[8542,1,"7⁄8"],[8543,1,"1⁄"],[8544,1,"i"],[8545,1,"ii"],[8546,1,"iii"],[8547,1,"iv"],[8548,1,"v"],[8549,1,"vi"],[8550,1,"vii"],[8551,1,"viii"],[8552,1,"ix"],[8553,1,"x"],[8554,1,"xi"],[8555,1,"xii"],[8556,1,"l"],[8557,1,"c"],[8558,1,"d"],[8559,1,"m"],[8560,1,"i"],[8561,1,"ii"],[8562,1,"iii"],[8563,1,"iv"],[8564,1,"v"],[8565,1,"vi"],[8566,1,"vii"],[8567,1,"viii"],[8568,1,"ix"],[8569,1,"x"],[8570,1,"xi"],[8571,1,"xii"],[8572,1,"l"],[8573,1,"c"],[8574,1,"d"],[8575,1,"m"],[[8576,8578],2],[8579,3],[8580,2],[[8581,8584],2],[8585,1,"0⁄3"],[[8586,8587],2],[[8588,8591],3],[[8592,8682],2],[[8683,8691],2],[[8692,8703],2],[[8704,8747],2],[8748,1,"∫∫"],[8749,1,"∫∫∫"],[8750,2],[8751,1,"∮∮"],[8752,1,"∮∮∮"],[[8753,8799],2],[8800,4],[[8801,8813],2],[[8814,8815],4],[[8816,8945],2],[[8946,8959],2],[8960,2],[8961,2],[[8962,9000],2],[9001,1,"〈"],[9002,1,"〉"],[[9003,9082],2],[9083,2],[9084,2],[[9085,9114],2],[[9115,9166],2],[[9167,9168],2],[[9169,9179],2],[[9180,9191],2],[9192,2],[[9193,9203],2],[[9204,9210],2],[[9211,9214],2],[9215,2],[[9216,9252],2],[[9253,9254],2],[[9255,9279],3],[[9280,9290],2],[[9291,9311],3],[9312,1,"1"],[9313,1,"2"],[9314,1,"3"],[9315,1,"4"],[9316,1,"5"],[9317,1,"6"],[9318,1,"7"],[9319,1,"8"],[9320,1,"9"],[9321,1,"10"],[9322,1,"11"],[9323,1,"12"],[9324,1,"13"],[9325,1,"14"],[9326,1,"15"],[9327,1,"16"],[9328,1,"17"],[9329,1,"18"],[9330,1,"19"],[9331,1,"20"],[9332,5,"(1)"],[9333,5,"(2)"],[9334,5,"(3)"],[9335,5,"(4)"],[9336,5,"(5)"],[9337,5,"(6)"],[9338,5,"(7)"],[9339,5,"(8)"],[9340,5,"(9)"],[9341,5,"(10)"],[9342,5,"(11)"],[9343,5,"(12)"],[9344,5,"(13)"],[9345,5,"(14)"],[9346,5,"(15)"],[9347,5,"(16)"],[9348,5,"(17)"],[9349,5,"(18)"],[9350,5,"(19)"],[9351,5,"(20)"],[[9352,9371],3],[9372,5,"(a)"],[9373,5,"(b)"],[9374,5,"(c)"],[9375,5,"(d)"],[9376,5,"(e)"],[9377,5,"(f)"],[9378,5,"(g)"],[9379,5,"(h)"],[9380,5,"(i)"],[9381,5,"(j)"],[9382,5,"(k)"],[9383,5,"(l)"],[9384,5,"(m)"],[9385,5,"(n)"],[9386,5,"(o)"],[9387,5,"(p)"],[9388,5,"(q)"],[9389,5,"(r)"],[9390,5,"(s)"],[9391,5,"(t)"],[9392,5,"(u)"],[9393,5,"(v)"],[9394,5,"(w)"],[9395,5,"(x)"],[9396,5,"(y)"],[9397,5,"(z)"],[9398,1,"a"],[9399,1,"b"],[9400,1,"c"],[9401,1,"d"],[9402,1,"e"],[9403,1,"f"],[9404,1,"g"],[9405,1,"h"],[9406,1,"i"],[9407,1,"j"],[9408,1,"k"],[9409,1,"l"],[9410,1,"m"],[9411,1,"n"],[9412,1,"o"],[9413,1,"p"],[9414,1,"q"],[9415,1,"r"],[9416,1,"s"],[9417,1,"t"],[9418,1,"u"],[9419,1,"v"],[9420,1,"w"],[9421,1,"x"],[9422,1,"y"],[9423,1,"z"],[9424,1,"a"],[9425,1,"b"],[9426,1,"c"],[9427,1,"d"],[9428,1,"e"],[9429,1,"f"],[9430,1,"g"],[9431,1,"h"],[9432,1,"i"],[9433,1,"j"],[9434,1,"k"],[9435,1,"l"],[9436,1,"m"],[9437,1,"n"],[9438,1,"o"],[9439,1,"p"],[9440,1,"q"],[9441,1,"r"],[9442,1,"s"],[9443,1,"t"],[9444,1,"u"],[9445,1,"v"],[9446,1,"w"],[9447,1,"x"],[9448,1,"y"],[9449,1,"z"],[9450,1,"0"],[[9451,9470],2],[9471,2],[[9472,9621],2],[[9622,9631],2],[[9632,9711],2],[[9712,9719],2],[[9720,9727],2],[[9728,9747],2],[[9748,9749],2],[[9750,9751],2],[9752,2],[9753,2],[[9754,9839],2],[[9840,9841],2],[[9842,9853],2],[[9854,9855],2],[[9856,9865],2],[[9866,9873],2],[[9874,9884],2],[9885,2],[[9886,9887],2],[[9888,9889],2],[[9890,9905],2],[9906,2],[[9907,9916],2],[[9917,9919],2],[[9920,9923],2],[[9924,9933],2],[9934,2],[[9935,9953],2],[9954,2],[9955,2],[[9956,9959],2],[[9960,9983],2],[9984,2],[[9985,9988],2],[9989,2],[[9990,9993],2],[[9994,9995],2],[[9996,10023],2],[10024,2],[[10025,10059],2],[10060,2],[10061,2],[10062,2],[[10063,10066],2],[[10067,10069],2],[10070,2],[10071,2],[[10072,10078],2],[[10079,10080],2],[[10081,10087],2],[[10088,10101],2],[[10102,10132],2],[[10133,10135],2],[[10136,10159],2],[10160,2],[[10161,10174],2],[10175,2],[[10176,10182],2],[[10183,10186],2],[10187,2],[10188,2],[10189,2],[[10190,10191],2],[[10192,10219],2],[[10220,10223],2],[[10224,10239],2],[[10240,10495],2],[[10496,10763],2],[10764,1,"∫∫∫∫"],[[10765,10867],2],[10868,5,"::="],[10869,5,"=="],[10870,5,"==="],[[10871,10971],2],[10972,1,"⫝̸"],[[10973,11007],2],[[11008,11021],2],[[11022,11027],2],[[11028,11034],2],[[11035,11039],2],[[11040,11043],2],[[11044,11084],2],[[11085,11087],2],[[11088,11092],2],[[11093,11097],2],[[11098,11123],2],[[11124,11125],3],[[11126,11157],2],[11158,3],[11159,2],[[11160,11193],2],[[11194,11196],2],[[11197,11208],2],[11209,2],[[11210,11217],2],[11218,2],[[11219,11243],2],[[11244,11247],2],[[11248,11262],2],[11263,2],[11264,1,"ⰰ"],[11265,1,"ⰱ"],[11266,1,"ⰲ"],[11267,1,"ⰳ"],[11268,1,"ⰴ"],[11269,1,"ⰵ"],[11270,1,"ⰶ"],[11271,1,"ⰷ"],[11272,1,"ⰸ"],[11273,1,"ⰹ"],[11274,1,"ⰺ"],[11275,1,"ⰻ"],[11276,1,"ⰼ"],[11277,1,"ⰽ"],[11278,1,"ⰾ"],[11279,1,"ⰿ"],[11280,1,"ⱀ"],[11281,1,"ⱁ"],[11282,1,"ⱂ"],[11283,1,"ⱃ"],[11284,1,"ⱄ"],[11285,1,"ⱅ"],[11286,1,"ⱆ"],[11287,1,"ⱇ"],[11288,1,"ⱈ"],[11289,1,"ⱉ"],[11290,1,"ⱊ"],[11291,1,"ⱋ"],[11292,1,"ⱌ"],[11293,1,"ⱍ"],[11294,1,"ⱎ"],[11295,1,"ⱏ"],[11296,1,"ⱐ"],[11297,1,"ⱑ"],[11298,1,"ⱒ"],[11299,1,"ⱓ"],[11300,1,"ⱔ"],[11301,1,"ⱕ"],[11302,1,"ⱖ"],[11303,1,"ⱗ"],[11304,1,"ⱘ"],[11305,1,"ⱙ"],[11306,1,"ⱚ"],[11307,1,"ⱛ"],[11308,1,"ⱜ"],[11309,1,"ⱝ"],[11310,1,"ⱞ"],[11311,3],[[11312,11358],2],[11359,3],[11360,1,"ⱡ"],[11361,2],[11362,1,"ɫ"],[11363,1,"ᵽ"],[11364,1,"ɽ"],[[11365,11366],2],[11367,1,"ⱨ"],[11368,2],[11369,1,"ⱪ"],[11370,2],[11371,1,"ⱬ"],[11372,2],[11373,1,"ɑ"],[11374,1,"ɱ"],[11375,1,"ɐ"],[11376,1,"ɒ"],[11377,2],[11378,1,"ⱳ"],[11379,2],[11380,2],[11381,1,"ⱶ"],[[11382,11383],2],[[11384,11387],2],[11388,1,"j"],[11389,1,"v"],[11390,1,"ȿ"],[11391,1,"ɀ"],[11392,1,"ⲁ"],[11393,2],[11394,1,"ⲃ"],[11395,2],[11396,1,"ⲅ"],[11397,2],[11398,1,"ⲇ"],[11399,2],[11400,1,"ⲉ"],[11401,2],[11402,1,"ⲋ"],[11403,2],[11404,1,"ⲍ"],[11405,2],[11406,1,"ⲏ"],[11407,2],[11408,1,"ⲑ"],[11409,2],[11410,1,"ⲓ"],[11411,2],[11412,1,"ⲕ"],[11413,2],[11414,1,"ⲗ"],[11415,2],[11416,1,"ⲙ"],[11417,2],[11418,1,"ⲛ"],[11419,2],[11420,1,"ⲝ"],[11421,2],[11422,1,"ⲟ"],[11423,2],[11424,1,"ⲡ"],[11425,2],[11426,1,"ⲣ"],[11427,2],[11428,1,"ⲥ"],[11429,2],[11430,1,"ⲧ"],[11431,2],[11432,1,"ⲩ"],[11433,2],[11434,1,"ⲫ"],[11435,2],[11436,1,"ⲭ"],[11437,2],[11438,1,"ⲯ"],[11439,2],[11440,1,"ⲱ"],[11441,2],[11442,1,"ⲳ"],[11443,2],[11444,1,"ⲵ"],[11445,2],[11446,1,"ⲷ"],[11447,2],[11448,1,"ⲹ"],[11449,2],[11450,1,"ⲻ"],[11451,2],[11452,1,"ⲽ"],[11453,2],[11454,1,"ⲿ"],[11455,2],[11456,1,"ⳁ"],[11457,2],[11458,1,"ⳃ"],[11459,2],[11460,1,"ⳅ"],[11461,2],[11462,1,"ⳇ"],[11463,2],[11464,1,"ⳉ"],[11465,2],[11466,1,"ⳋ"],[11467,2],[11468,1,"ⳍ"],[11469,2],[11470,1,"ⳏ"],[11471,2],[11472,1,"ⳑ"],[11473,2],[11474,1,"ⳓ"],[11475,2],[11476,1,"ⳕ"],[11477,2],[11478,1,"ⳗ"],[11479,2],[11480,1,"ⳙ"],[11481,2],[11482,1,"ⳛ"],[11483,2],[11484,1,"ⳝ"],[11485,2],[11486,1,"ⳟ"],[11487,2],[11488,1,"ⳡ"],[11489,2],[11490,1,"ⳣ"],[[11491,11492],2],[[11493,11498],2],[11499,1,"ⳬ"],[11500,2],[11501,1,"ⳮ"],[[11502,11505],2],[11506,1,"ⳳ"],[11507,2],[[11508,11512],3],[[11513,11519],2],[[11520,11557],2],[11558,3],[11559,2],[[11560,11564],3],[11565,2],[[11566,11567],3],[[11568,11621],2],[[11622,11623],2],[[11624,11630],3],[11631,1,"ⵡ"],[11632,2],[[11633,11646],3],[11647,2],[[11648,11670],2],[[11671,11679],3],[[11680,11686],2],[11687,3],[[11688,11694],2],[11695,3],[[11696,11702],2],[11703,3],[[11704,11710],2],[11711,3],[[11712,11718],2],[11719,3],[[11720,11726],2],[11727,3],[[11728,11734],2],[11735,3],[[11736,11742],2],[11743,3],[[11744,11775],2],[[11776,11799],2],[[11800,11803],2],[[11804,11805],2],[[11806,11822],2],[11823,2],[11824,2],[11825,2],[[11826,11835],2],[[11836,11842],2],[[11843,11844],2],[[11845,11849],2],[[11850,11854],2],[11855,2],[[11856,11858],2],[[11859,11903],3],[[11904,11929],2],[11930,3],[[11931,11934],2],[11935,1,"母"],[[11936,12018],2],[12019,1,"龟"],[[12020,12031],3],[12032,1,"一"],[12033,1,"丨"],[12034,1,"丶"],[12035,1,"丿"],[12036,1,"乙"],[12037,1,"亅"],[12038,1,"二"],[12039,1,"亠"],[12040,1,"人"],[12041,1,"儿"],[12042,1,"入"],[12043,1,"八"],[12044,1,"冂"],[12045,1,"冖"],[12046,1,"冫"],[12047,1,"几"],[12048,1,"凵"],[12049,1,"刀"],[12050,1,"力"],[12051,1,"勹"],[12052,1,"匕"],[12053,1,"匚"],[12054,1,"匸"],[12055,1,"十"],[12056,1,"卜"],[12057,1,"卩"],[12058,1,"厂"],[12059,1,"厶"],[12060,1,"又"],[12061,1,"口"],[12062,1,"囗"],[12063,1,"土"],[12064,1,"士"],[12065,1,"夂"],[12066,1,"夊"],[12067,1,"夕"],[12068,1,"大"],[12069,1,"女"],[12070,1,"子"],[12071,1,"宀"],[12072,1,"寸"],[12073,1,"小"],[12074,1,"尢"],[12075,1,"尸"],[12076,1,"屮"],[12077,1,"山"],[12078,1,"巛"],[12079,1,"工"],[12080,1,"己"],[12081,1,"巾"],[12082,1,"干"],[12083,1,"幺"],[12084,1,"广"],[12085,1,"廴"],[12086,1,"廾"],[12087,1,"弋"],[12088,1,"弓"],[12089,1,"彐"],[12090,1,"彡"],[12091,1,"彳"],[12092,1,"心"],[12093,1,"戈"],[12094,1,"戶"],[12095,1,"手"],[12096,1,"支"],[12097,1,"攴"],[12098,1,"文"],[12099,1,"斗"],[12100,1,"斤"],[12101,1,"方"],[12102,1,"无"],[12103,1,"日"],[12104,1,"曰"],[12105,1,"月"],[12106,1,"木"],[12107,1,"欠"],[12108,1,"止"],[12109,1,"歹"],[12110,1,"殳"],[12111,1,"毋"],[12112,1,"比"],[12113,1,"毛"],[12114,1,"氏"],[12115,1,"气"],[12116,1,"水"],[12117,1,"火"],[12118,1,"爪"],[12119,1,"父"],[12120,1,"爻"],[12121,1,"爿"],[12122,1,"片"],[12123,1,"牙"],[12124,1,"牛"],[12125,1,"犬"],[12126,1,"玄"],[12127,1,"玉"],[12128,1,"瓜"],[12129,1,"瓦"],[12130,1,"甘"],[12131,1,"生"],[12132,1,"用"],[12133,1,"田"],[12134,1,"疋"],[12135,1,"疒"],[12136,1,"癶"],[12137,1,"白"],[12138,1,"皮"],[12139,1,"皿"],[12140,1,"目"],[12141,1,"矛"],[12142,1,"矢"],[12143,1,"石"],[12144,1,"示"],[12145,1,"禸"],[12146,1,"禾"],[12147,1,"穴"],[12148,1,"立"],[12149,1,"竹"],[12150,1,"米"],[12151,1,"糸"],[12152,1,"缶"],[12153,1,"网"],[12154,1,"羊"],[12155,1,"羽"],[12156,1,"老"],[12157,1,"而"],[12158,1,"耒"],[12159,1,"耳"],[12160,1,"聿"],[12161,1,"肉"],[12162,1,"臣"],[12163,1,"自"],[12164,1,"至"],[12165,1,"臼"],[12166,1,"舌"],[12167,1,"舛"],[12168,1,"舟"],[12169,1,"艮"],[12170,1,"色"],[12171,1,"艸"],[12172,1,"虍"],[12173,1,"虫"],[12174,1,"血"],[12175,1,"行"],[12176,1,"衣"],[12177,1,"襾"],[12178,1,"見"],[12179,1,"角"],[12180,1,"言"],[12181,1,"谷"],[12182,1,"豆"],[12183,1,"豕"],[12184,1,"豸"],[12185,1,"貝"],[12186,1,"赤"],[12187,1,"走"],[12188,1,"足"],[12189,1,"身"],[12190,1,"車"],[12191,1,"辛"],[12192,1,"辰"],[12193,1,"辵"],[12194,1,"邑"],[12195,1,"酉"],[12196,1,"釆"],[12197,1,"里"],[12198,1,"金"],[12199,1,"長"],[12200,1,"門"],[12201,1,"阜"],[12202,1,"隶"],[12203,1,"隹"],[12204,1,"雨"],[12205,1,"靑"],[12206,1,"非"],[12207,1,"面"],[12208,1,"革"],[12209,1,"韋"],[12210,1,"韭"],[12211,1,"音"],[12212,1,"頁"],[12213,1,"風"],[12214,1,"飛"],[12215,1,"食"],[12216,1,"首"],[12217,1,"香"],[12218,1,"馬"],[12219,1,"骨"],[12220,1,"高"],[12221,1,"髟"],[12222,1,"鬥"],[12223,1,"鬯"],[12224,1,"鬲"],[12225,1,"鬼"],[12226,1,"魚"],[12227,1,"鳥"],[12228,1,"鹵"],[12229,1,"鹿"],[12230,1,"麥"],[12231,1,"麻"],[12232,1,"黃"],[12233,1,"黍"],[12234,1,"黑"],[12235,1,"黹"],[12236,1,"黽"],[12237,1,"鼎"],[12238,1,"鼓"],[12239,1,"鼠"],[12240,1,"鼻"],[12241,1,"齊"],[12242,1,"齒"],[12243,1,"龍"],[12244,1,"龜"],[12245,1,"龠"],[[12246,12271],3],[[12272,12283],3],[[12284,12287],3],[12288,5," "],[12289,2],[12290,1,"."],[[12291,12292],2],[[12293,12295],2],[[12296,12329],2],[[12330,12333],2],[[12334,12341],2],[12342,1,"〒"],[12343,2],[12344,1,"十"],[12345,1,"卄"],[12346,1,"卅"],[12347,2],[12348,2],[12349,2],[12350,2],[12351,2],[12352,3],[[12353,12436],2],[[12437,12438],2],[[12439,12440],3],[[12441,12442],2],[12443,5," ゙"],[12444,5," ゚"],[[12445,12446],2],[12447,1,"より"],[12448,2],[[12449,12542],2],[12543,1,"コト"],[[12544,12548],3],[[12549,12588],2],[12589,2],[12590,2],[12591,2],[12592,3],[12593,1,"ᄀ"],[12594,1,"ᄁ"],[12595,1,"ᆪ"],[12596,1,"ᄂ"],[12597,1,"ᆬ"],[12598,1,"ᆭ"],[12599,1,"ᄃ"],[12600,1,"ᄄ"],[12601,1,"ᄅ"],[12602,1,"ᆰ"],[12603,1,"ᆱ"],[12604,1,"ᆲ"],[12605,1,"ᆳ"],[12606,1,"ᆴ"],[12607,1,"ᆵ"],[12608,1,"ᄚ"],[12609,1,"ᄆ"],[12610,1,"ᄇ"],[12611,1,"ᄈ"],[12612,1,"ᄡ"],[12613,1,"ᄉ"],[12614,1,"ᄊ"],[12615,1,"ᄋ"],[12616,1,"ᄌ"],[12617,1,"ᄍ"],[12618,1,"ᄎ"],[12619,1,"ᄏ"],[12620,1,"ᄐ"],[12621,1,"ᄑ"],[12622,1,"ᄒ"],[12623,1,"ᅡ"],[12624,1,"ᅢ"],[12625,1,"ᅣ"],[12626,1,"ᅤ"],[12627,1,"ᅥ"],[12628,1,"ᅦ"],[12629,1,"ᅧ"],[12630,1,"ᅨ"],[12631,1,"ᅩ"],[12632,1,"ᅪ"],[12633,1,"ᅫ"],[12634,1,"ᅬ"],[12635,1,"ᅭ"],[12636,1,"ᅮ"],[12637,1,"ᅯ"],[12638,1,"ᅰ"],[12639,1,"ᅱ"],[12640,1,"ᅲ"],[12641,1,"ᅳ"],[12642,1,"ᅴ"],[12643,1,"ᅵ"],[12644,3],[12645,1,"ᄔ"],[12646,1,"ᄕ"],[12647,1,"ᇇ"],[12648,1,"ᇈ"],[12649,1,"ᇌ"],[12650,1,"ᇎ"],[12651,1,"ᇓ"],[12652,1,"ᇗ"],[12653,1,"ᇙ"],[12654,1,"ᄜ"],[12655,1,"ᇝ"],[12656,1,"ᇟ"],[12657,1,"ᄝ"],[12658,1,"ᄞ"],[12659,1,"ᄠ"],[12660,1,"ᄢ"],[12661,1,"ᄣ"],[12662,1,"ᄧ"],[12663,1,"ᄩ"],[12664,1,"ᄫ"],[12665,1,"ᄬ"],[12666,1,"ᄭ"],[12667,1,"ᄮ"],[12668,1,"ᄯ"],[12669,1,"ᄲ"],[12670,1,"ᄶ"],[12671,1,"ᅀ"],[12672,1,"ᅇ"],[12673,1,"ᅌ"],[12674,1,"ᇱ"],[12675,1,"ᇲ"],[12676,1,"ᅗ"],[12677,1,"ᅘ"],[12678,1,"ᅙ"],[12679,1,"ᆄ"],[12680,1,"ᆅ"],[12681,1,"ᆈ"],[12682,1,"ᆑ"],[12683,1,"ᆒ"],[12684,1,"ᆔ"],[12685,1,"ᆞ"],[12686,1,"ᆡ"],[12687,3],[[12688,12689],2],[12690,1,"一"],[12691,1,"二"],[12692,1,"三"],[12693,1,"四"],[12694,1,"上"],[12695,1,"中"],[12696,1,"下"],[12697,1,"甲"],[12698,1,"乙"],[12699,1,"丙"],[12700,1,"丁"],[12701,1,"天"],[12702,1,"地"],[12703,1,"人"],[[12704,12727],2],[[12728,12730],2],[[12731,12735],2],[[12736,12751],2],[[12752,12771],2],[[12772,12783],3],[[12784,12799],2],[12800,5,"(ᄀ)"],[12801,5,"(ᄂ)"],[12802,5,"(ᄃ)"],[12803,5,"(ᄅ)"],[12804,5,"(ᄆ)"],[12805,5,"(ᄇ)"],[12806,5,"(ᄉ)"],[12807,5,"(ᄋ)"],[12808,5,"(ᄌ)"],[12809,5,"(ᄎ)"],[12810,5,"(ᄏ)"],[12811,5,"(ᄐ)"],[12812,5,"(ᄑ)"],[12813,5,"(ᄒ)"],[12814,5,"(가)"],[12815,5,"(나)"],[12816,5,"(다)"],[12817,5,"(라)"],[12818,5,"(마)"],[12819,5,"(바)"],[12820,5,"(사)"],[12821,5,"(아)"],[12822,5,"(자)"],[12823,5,"(차)"],[12824,5,"(카)"],[12825,5,"(타)"],[12826,5,"(파)"],[12827,5,"(하)"],[12828,5,"(주)"],[12829,5,"(오전)"],[12830,5,"(오후)"],[12831,3],[12832,5,"(一)"],[12833,5,"(二)"],[12834,5,"(三)"],[12835,5,"(四)"],[12836,5,"(五)"],[12837,5,"(六)"],[12838,5,"(七)"],[12839,5,"(八)"],[12840,5,"(九)"],[12841,5,"(十)"],[12842,5,"(月)"],[12843,5,"(火)"],[12844,5,"(水)"],[12845,5,"(木)"],[12846,5,"(金)"],[12847,5,"(土)"],[12848,5,"(日)"],[12849,5,"(株)"],[12850,5,"(有)"],[12851,5,"(社)"],[12852,5,"(名)"],[12853,5,"(特)"],[12854,5,"(財)"],[12855,5,"(祝)"],[12856,5,"(労)"],[12857,5,"(代)"],[12858,5,"(呼)"],[12859,5,"(学)"],[12860,5,"(監)"],[12861,5,"(企)"],[12862,5,"(資)"],[12863,5,"(協)"],[12864,5,"(祭)"],[12865,5,"(休)"],[12866,5,"(自)"],[12867,5,"(至)"],[12868,1,"問"],[12869,1,"幼"],[12870,1,"文"],[12871,1,"箏"],[[12872,12879],2],[12880,1,"pte"],[12881,1,"21"],[12882,1,"22"],[12883,1,"23"],[12884,1,"24"],[12885,1,"25"],[12886,1,"26"],[12887,1,"27"],[12888,1,"28"],[12889,1,"29"],[12890,1,"30"],[12891,1,"31"],[12892,1,"32"],[12893,1,"33"],[12894,1,"34"],[12895,1,"35"],[12896,1,"ᄀ"],[12897,1,"ᄂ"],[12898,1,"ᄃ"],[12899,1,"ᄅ"],[12900,1,"ᄆ"],[12901,1,"ᄇ"],[12902,1,"ᄉ"],[12903,1,"ᄋ"],[12904,1,"ᄌ"],[12905,1,"ᄎ"],[12906,1,"ᄏ"],[12907,1,"ᄐ"],[12908,1,"ᄑ"],[12909,1,"ᄒ"],[12910,1,"가"],[12911,1,"나"],[12912,1,"다"],[12913,1,"라"],[12914,1,"마"],[12915,1,"바"],[12916,1,"사"],[12917,1,"아"],[12918,1,"자"],[12919,1,"차"],[12920,1,"카"],[12921,1,"타"],[12922,1,"파"],[12923,1,"하"],[12924,1,"참고"],[12925,1,"주의"],[12926,1,"우"],[12927,2],[12928,1,"一"],[12929,1,"二"],[12930,1,"三"],[12931,1,"四"],[12932,1,"五"],[12933,1,"六"],[12934,1,"七"],[12935,1,"八"],[12936,1,"九"],[12937,1,"十"],[12938,1,"月"],[12939,1,"火"],[12940,1,"水"],[12941,1,"木"],[12942,1,"金"],[12943,1,"土"],[12944,1,"日"],[12945,1,"株"],[12946,1,"有"],[12947,1,"社"],[12948,1,"名"],[12949,1,"特"],[12950,1,"財"],[12951,1,"祝"],[12952,1,"労"],[12953,1,"秘"],[12954,1,"男"],[12955,1,"女"],[12956,1,"適"],[12957,1,"優"],[12958,1,"印"],[12959,1,"注"],[12960,1,"項"],[12961,1,"休"],[12962,1,"写"],[12963,1,"正"],[12964,1,"上"],[12965,1,"中"],[12966,1,"下"],[12967,1,"左"],[12968,1,"右"],[12969,1,"医"],[12970,1,"宗"],[12971,1,"学"],[12972,1,"監"],[12973,1,"企"],[12974,1,"資"],[12975,1,"協"],[12976,1,"夜"],[12977,1,"36"],[12978,1,"37"],[12979,1,"38"],[12980,1,"39"],[12981,1,"40"],[12982,1,"41"],[12983,1,"42"],[12984,1,"43"],[12985,1,"44"],[12986,1,"45"],[12987,1,"46"],[12988,1,"47"],[12989,1,"48"],[12990,1,"49"],[12991,1,"50"],[12992,1,"1月"],[12993,1,"2月"],[12994,1,"3月"],[12995,1,"4月"],[12996,1,"5月"],[12997,1,"6月"],[12998,1,"7月"],[12999,1,"8月"],[13000,1,"9月"],[13001,1,"10月"],[13002,1,"11月"],[13003,1,"12月"],[13004,1,"hg"],[13005,1,"erg"],[13006,1,"ev"],[13007,1,"ltd"],[13008,1,"ア"],[13009,1,"イ"],[13010,1,"ウ"],[13011,1,"エ"],[13012,1,"オ"],[13013,1,"カ"],[13014,1,"キ"],[13015,1,"ク"],[13016,1,"ケ"],[13017,1,"コ"],[13018,1,"サ"],[13019,1,"シ"],[13020,1,"ス"],[13021,1,"セ"],[13022,1,"ソ"],[13023,1,"タ"],[13024,1,"チ"],[13025,1,"ツ"],[13026,1,"テ"],[13027,1,"ト"],[13028,1,"ナ"],[13029,1,"ニ"],[13030,1,"ヌ"],[13031,1,"ネ"],[13032,1,"ノ"],[13033,1,"ハ"],[13034,1,"ヒ"],[13035,1,"フ"],[13036,1,"ヘ"],[13037,1,"ホ"],[13038,1,"マ"],[13039,1,"ミ"],[13040,1,"ム"],[13041,1,"メ"],[13042,1,"モ"],[13043,1,"ヤ"],[13044,1,"ユ"],[13045,1,"ヨ"],[13046,1,"ラ"],[13047,1,"リ"],[13048,1,"ル"],[13049,1,"レ"],[13050,1,"ロ"],[13051,1,"ワ"],[13052,1,"ヰ"],[13053,1,"ヱ"],[13054,1,"ヲ"],[13055,1,"令和"],[13056,1,"アパート"],[13057,1,"アルファ"],[13058,1,"アンペア"],[13059,1,"アール"],[13060,1,"イニング"],[13061,1,"インチ"],[13062,1,"ウォン"],[13063,1,"エスクード"],[13064,1,"エーカー"],[13065,1,"オンス"],[13066,1,"オーム"],[13067,1,"カイリ"],[13068,1,"カラット"],[13069,1,"カロリー"],[13070,1,"ガロン"],[13071,1,"ガンマ"],[13072,1,"ギガ"],[13073,1,"ギニー"],[13074,1,"キュリー"],[13075,1,"ギルダー"],[13076,1,"キロ"],[13077,1,"キログラム"],[13078,1,"キロメートル"],[13079,1,"キロワット"],[13080,1,"グラム"],[13081,1,"グラムトン"],[13082,1,"クルゼイロ"],[13083,1,"クローネ"],[13084,1,"ケース"],[13085,1,"コルナ"],[13086,1,"コーポ"],[13087,1,"サイクル"],[13088,1,"サンチーム"],[13089,1,"シリング"],[13090,1,"センチ"],[13091,1,"セント"],[13092,1,"ダース"],[13093,1,"デシ"],[13094,1,"ドル"],[13095,1,"トン"],[13096,1,"ナノ"],[13097,1,"ノット"],[13098,1,"ハイツ"],[13099,1,"パーセント"],[13100,1,"パーツ"],[13101,1,"バーレル"],[13102,1,"ピアストル"],[13103,1,"ピクル"],[13104,1,"ピコ"],[13105,1,"ビル"],[13106,1,"ファラッド"],[13107,1,"フィート"],[13108,1,"ブッシェル"],[13109,1,"フラン"],[13110,1,"ヘクタール"],[13111,1,"ペソ"],[13112,1,"ペニヒ"],[13113,1,"ヘルツ"],[13114,1,"ペンス"],[13115,1,"ページ"],[13116,1,"ベータ"],[13117,1,"ポイント"],[13118,1,"ボルト"],[13119,1,"ホン"],[13120,1,"ポンド"],[13121,1,"ホール"],[13122,1,"ホーン"],[13123,1,"マイクロ"],[13124,1,"マイル"],[13125,1,"マッハ"],[13126,1,"マルク"],[13127,1,"マンション"],[13128,1,"ミクロン"],[13129,1,"ミリ"],[13130,1,"ミリバール"],[13131,1,"メガ"],[13132,1,"メガトン"],[13133,1,"メートル"],[13134,1,"ヤード"],[13135,1,"ヤール"],[13136,1,"ユアン"],[13137,1,"リットル"],[13138,1,"リラ"],[13139,1,"ルピー"],[13140,1,"ルーブル"],[13141,1,"レム"],[13142,1,"レントゲン"],[13143,1,"ワット"],[13144,1,"0点"],[13145,1,"1点"],[13146,1,"2点"],[13147,1,"3点"],[13148,1,"4点"],[13149,1,"5点"],[13150,1,"6点"],[13151,1,"7点"],[13152,1,"8点"],[13153,1,"9点"],[13154,1,"10点"],[13155,1,"11点"],[13156,1,"12点"],[13157,1,"13点"],[13158,1,"14点"],[13159,1,"15点"],[13160,1,"16点"],[13161,1,"17点"],[13162,1,"18点"],[13163,1,"19点"],[13164,1,"20点"],[13165,1,"21点"],[13166,1,"22点"],[13167,1,"23点"],[13168,1,"24点"],[13169,1,"hpa"],[13170,1,"da"],[13171,1,"au"],[13172,1,"bar"],[13173,1,"ov"],[13174,1,"pc"],[13175,1,"dm"],[13176,1,"dm2"],[13177,1,"dm3"],[13178,1,"iu"],[13179,1,"平成"],[13180,1,"昭和"],[13181,1,"大正"],[13182,1,"明治"],[13183,1,"株式会社"],[13184,1,"pa"],[13185,1,"na"],[13186,1,"μa"],[13187,1,"ma"],[13188,1,"ka"],[13189,1,"kb"],[13190,1,"mb"],[13191,1,"gb"],[13192,1,"cal"],[13193,1,"kcal"],[13194,1,"pf"],[13195,1,"nf"],[13196,1,"μf"],[13197,1,"μg"],[13198,1,"mg"],[13199,1,"kg"],[13200,1,"hz"],[13201,1,"khz"],[13202,1,"mhz"],[13203,1,"ghz"],[13204,1,"thz"],[13205,1,"μl"],[13206,1,"ml"],[13207,1,"dl"],[13208,1,"kl"],[13209,1,"fm"],[13210,1,"nm"],[13211,1,"μm"],[13212,1,"mm"],[13213,1,"cm"],[13214,1,"km"],[13215,1,"mm2"],[13216,1,"cm2"],[13217,1,"m2"],[13218,1,"km2"],[13219,1,"mm3"],[13220,1,"cm3"],[13221,1,"m3"],[13222,1,"km3"],[13223,1,"m∕s"],[13224,1,"m∕s2"],[13225,1,"pa"],[13226,1,"kpa"],[13227,1,"mpa"],[13228,1,"gpa"],[13229,1,"rad"],[13230,1,"rad∕s"],[13231,1,"rad∕s2"],[13232,1,"ps"],[13233,1,"ns"],[13234,1,"μs"],[13235,1,"ms"],[13236,1,"pv"],[13237,1,"nv"],[13238,1,"μv"],[13239,1,"mv"],[13240,1,"kv"],[13241,1,"mv"],[13242,1,"pw"],[13243,1,"nw"],[13244,1,"μw"],[13245,1,"mw"],[13246,1,"kw"],[13247,1,"mw"],[13248,1,"kω"],[13249,1,"mω"],[13250,3],[13251,1,"bq"],[13252,1,"cc"],[13253,1,"cd"],[13254,1,"c∕kg"],[13255,3],[13256,1,"db"],[13257,1,"gy"],[13258,1,"ha"],[13259,1,"hp"],[13260,1,"in"],[13261,1,"kk"],[13262,1,"km"],[13263,1,"kt"],[13264,1,"lm"],[13265,1,"ln"],[13266,1,"log"],[13267,1,"lx"],[13268,1,"mb"],[13269,1,"mil"],[13270,1,"mol"],[13271,1,"ph"],[13272,3],[13273,1,"ppm"],[13274,1,"pr"],[13275,1,"sr"],[13276,1,"sv"],[13277,1,"wb"],[13278,1,"v∕m"],[13279,1,"a∕m"],[13280,1,"1日"],[13281,1,"2日"],[13282,1,"3日"],[13283,1,"4日"],[13284,1,"5日"],[13285,1,"6日"],[13286,1,"7日"],[13287,1,"8日"],[13288,1,"9日"],[13289,1,"10日"],[13290,1,"11日"],[13291,1,"12日"],[13292,1,"13日"],[13293,1,"14日"],[13294,1,"15日"],[13295,1,"16日"],[13296,1,"17日"],[13297,1,"18日"],[13298,1,"19日"],[13299,1,"20日"],[13300,1,"21日"],[13301,1,"22日"],[13302,1,"23日"],[13303,1,"24日"],[13304,1,"25日"],[13305,1,"26日"],[13306,1,"27日"],[13307,1,"28日"],[13308,1,"29日"],[13309,1,"30日"],[13310,1,"31日"],[13311,1,"gal"],[[13312,19893],2],[[19894,19903],2],[[19904,19967],2],[[19968,40869],2],[[40870,40891],2],[[40892,40899],2],[[40900,40907],2],[40908,2],[[40909,40917],2],[[40918,40938],2],[[40939,40943],2],[[40944,40956],2],[[40957,40959],3],[[40960,42124],2],[[42125,42127],3],[[42128,42145],2],[[42146,42147],2],[[42148,42163],2],[42164,2],[[42165,42176],2],[42177,2],[[42178,42180],2],[42181,2],[42182,2],[[42183,42191],3],[[42192,42237],2],[[42238,42239],2],[[42240,42508],2],[[42509,42511],2],[[42512,42539],2],[[42540,42559],3],[42560,1,"ꙁ"],[42561,2],[42562,1,"ꙃ"],[42563,2],[42564,1,"ꙅ"],[42565,2],[42566,1,"ꙇ"],[42567,2],[42568,1,"ꙉ"],[42569,2],[42570,1,"ꙋ"],[42571,2],[42572,1,"ꙍ"],[42573,2],[42574,1,"ꙏ"],[42575,2],[42576,1,"ꙑ"],[42577,2],[42578,1,"ꙓ"],[42579,2],[42580,1,"ꙕ"],[42581,2],[42582,1,"ꙗ"],[42583,2],[42584,1,"ꙙ"],[42585,2],[42586,1,"ꙛ"],[42587,2],[42588,1,"ꙝ"],[42589,2],[42590,1,"ꙟ"],[42591,2],[42592,1,"ꙡ"],[42593,2],[42594,1,"ꙣ"],[42595,2],[42596,1,"ꙥ"],[42597,2],[42598,1,"ꙧ"],[42599,2],[42600,1,"ꙩ"],[42601,2],[42602,1,"ꙫ"],[42603,2],[42604,1,"ꙭ"],[[42605,42607],2],[[42608,42611],2],[[42612,42619],2],[[42620,42621],2],[42622,2],[42623,2],[42624,1,"ꚁ"],[42625,2],[42626,1,"ꚃ"],[42627,2],[42628,1,"ꚅ"],[42629,2],[42630,1,"ꚇ"],[42631,2],[42632,1,"ꚉ"],[42633,2],[42634,1,"ꚋ"],[42635,2],[42636,1,"ꚍ"],[42637,2],[42638,1,"ꚏ"],[42639,2],[42640,1,"ꚑ"],[42641,2],[42642,1,"ꚓ"],[42643,2],[42644,1,"ꚕ"],[42645,2],[42646,1,"ꚗ"],[42647,2],[42648,1,"ꚙ"],[42649,2],[42650,1,"ꚛ"],[42651,2],[42652,1,"ъ"],[42653,1,"ь"],[42654,2],[42655,2],[[42656,42725],2],[[42726,42735],2],[[42736,42737],2],[[42738,42743],2],[[42744,42751],3],[[42752,42774],2],[[42775,42778],2],[[42779,42783],2],[[42784,42785],2],[42786,1,"ꜣ"],[42787,2],[42788,1,"ꜥ"],[42789,2],[42790,1,"ꜧ"],[42791,2],[42792,1,"ꜩ"],[42793,2],[42794,1,"ꜫ"],[42795,2],[42796,1,"ꜭ"],[42797,2],[42798,1,"ꜯ"],[[42799,42801],2],[42802,1,"ꜳ"],[42803,2],[42804,1,"ꜵ"],[42805,2],[42806,1,"ꜷ"],[42807,2],[42808,1,"ꜹ"],[42809,2],[42810,1,"ꜻ"],[42811,2],[42812,1,"ꜽ"],[42813,2],[42814,1,"ꜿ"],[42815,2],[42816,1,"ꝁ"],[42817,2],[42818,1,"ꝃ"],[42819,2],[42820,1,"ꝅ"],[42821,2],[42822,1,"ꝇ"],[42823,2],[42824,1,"ꝉ"],[42825,2],[42826,1,"ꝋ"],[42827,2],[42828,1,"ꝍ"],[42829,2],[42830,1,"ꝏ"],[42831,2],[42832,1,"ꝑ"],[42833,2],[42834,1,"ꝓ"],[42835,2],[42836,1,"ꝕ"],[42837,2],[42838,1,"ꝗ"],[42839,2],[42840,1,"ꝙ"],[42841,2],[42842,1,"ꝛ"],[42843,2],[42844,1,"ꝝ"],[42845,2],[42846,1,"ꝟ"],[42847,2],[42848,1,"ꝡ"],[42849,2],[42850,1,"ꝣ"],[42851,2],[42852,1,"ꝥ"],[42853,2],[42854,1,"ꝧ"],[42855,2],[42856,1,"ꝩ"],[42857,2],[42858,1,"ꝫ"],[42859,2],[42860,1,"ꝭ"],[42861,2],[42862,1,"ꝯ"],[42863,2],[42864,1,"ꝯ"],[[42865,42872],2],[42873,1,"ꝺ"],[42874,2],[42875,1,"ꝼ"],[42876,2],[42877,1,"ᵹ"],[42878,1,"ꝿ"],[42879,2],[42880,1,"ꞁ"],[42881,2],[42882,1,"ꞃ"],[42883,2],[42884,1,"ꞅ"],[42885,2],[42886,1,"ꞇ"],[[42887,42888],2],[[42889,42890],2],[42891,1,"ꞌ"],[42892,2],[42893,1,"ɥ"],[42894,2],[42895,2],[42896,1,"ꞑ"],[42897,2],[42898,1,"ꞓ"],[42899,2],[[42900,42901],2],[42902,1,"ꞗ"],[42903,2],[42904,1,"ꞙ"],[42905,2],[42906,1,"ꞛ"],[42907,2],[42908,1,"ꞝ"],[42909,2],[42910,1,"ꞟ"],[42911,2],[42912,1,"ꞡ"],[42913,2],[42914,1,"ꞣ"],[42915,2],[42916,1,"ꞥ"],[42917,2],[42918,1,"ꞧ"],[42919,2],[42920,1,"ꞩ"],[42921,2],[42922,1,"ɦ"],[42923,1,"ɜ"],[42924,1,"ɡ"],[42925,1,"ɬ"],[42926,1,"ɪ"],[42927,2],[42928,1,"ʞ"],[42929,1,"ʇ"],[42930,1,"ʝ"],[42931,1,"ꭓ"],[42932,1,"ꞵ"],[42933,2],[42934,1,"ꞷ"],[42935,2],[42936,1,"ꞹ"],[42937,2],[42938,1,"ꞻ"],[42939,2],[42940,1,"ꞽ"],[42941,2],[42942,1,"ꞿ"],[42943,2],[[42944,42945],3],[42946,1,"ꟃ"],[42947,2],[42948,1,"ꞔ"],[42949,1,"ʂ"],[42950,1,"ᶎ"],[42951,1,"ꟈ"],[42952,2],[42953,1,"ꟊ"],[42954,2],[[42955,42996],3],[42997,1,"ꟶ"],[42998,2],[42999,2],[43000,1,"ħ"],[43001,1,"œ"],[43002,2],[[43003,43007],2],[[43008,43047],2],[[43048,43051],2],[43052,2],[[43053,43055],3],[[43056,43065],2],[[43066,43071],3],[[43072,43123],2],[[43124,43127],2],[[43128,43135],3],[[43136,43204],2],[43205,2],[[43206,43213],3],[[43214,43215],2],[[43216,43225],2],[[43226,43231],3],[[43232,43255],2],[[43256,43258],2],[43259,2],[43260,2],[43261,2],[[43262,43263],2],[[43264,43309],2],[[43310,43311],2],[[43312,43347],2],[[43348,43358],3],[43359,2],[[43360,43388],2],[[43389,43391],3],[[43392,43456],2],[[43457,43469],2],[43470,3],[[43471,43481],2],[[43482,43485],3],[[43486,43487],2],[[43488,43518],2],[43519,3],[[43520,43574],2],[[43575,43583],3],[[43584,43597],2],[[43598,43599],3],[[43600,43609],2],[[43610,43611],3],[[43612,43615],2],[[43616,43638],2],[[43639,43641],2],[[43642,43643],2],[[43644,43647],2],[[43648,43714],2],[[43715,43738],3],[[43739,43741],2],[[43742,43743],2],[[43744,43759],2],[[43760,43761],2],[[43762,43766],2],[[43767,43776],3],[[43777,43782],2],[[43783,43784],3],[[43785,43790],2],[[43791,43792],3],[[43793,43798],2],[[43799,43807],3],[[43808,43814],2],[43815,3],[[43816,43822],2],[43823,3],[[43824,43866],2],[43867,2],[43868,1,"ꜧ"],[43869,1,"ꬷ"],[43870,1,"ɫ"],[43871,1,"ꭒ"],[[43872,43875],2],[[43876,43877],2],[[43878,43879],2],[43880,2],[43881,1,"ʍ"],[[43882,43883],2],[[43884,43887],3],[43888,1,"Ꭰ"],[43889,1,"Ꭱ"],[43890,1,"Ꭲ"],[43891,1,"Ꭳ"],[43892,1,"Ꭴ"],[43893,1,"Ꭵ"],[43894,1,"Ꭶ"],[43895,1,"Ꭷ"],[43896,1,"Ꭸ"],[43897,1,"Ꭹ"],[43898,1,"Ꭺ"],[43899,1,"Ꭻ"],[43900,1,"Ꭼ"],[43901,1,"Ꭽ"],[43902,1,"Ꭾ"],[43903,1,"Ꭿ"],[43904,1,"Ꮀ"],[43905,1,"Ꮁ"],[43906,1,"Ꮂ"],[43907,1,"Ꮃ"],[43908,1,"Ꮄ"],[43909,1,"Ꮅ"],[43910,1,"Ꮆ"],[43911,1,"Ꮇ"],[43912,1,"Ꮈ"],[43913,1,"Ꮉ"],[43914,1,"Ꮊ"],[43915,1,"Ꮋ"],[43916,1,"Ꮌ"],[43917,1,"Ꮍ"],[43918,1,"Ꮎ"],[43919,1,"Ꮏ"],[43920,1,"Ꮐ"],[43921,1,"Ꮑ"],[43922,1,"Ꮒ"],[43923,1,"Ꮓ"],[43924,1,"Ꮔ"],[43925,1,"Ꮕ"],[43926,1,"Ꮖ"],[43927,1,"Ꮗ"],[43928,1,"Ꮘ"],[43929,1,"Ꮙ"],[43930,1,"Ꮚ"],[43931,1,"Ꮛ"],[43932,1,"Ꮜ"],[43933,1,"Ꮝ"],[43934,1,"Ꮞ"],[43935,1,"Ꮟ"],[43936,1,"Ꮠ"],[43937,1,"Ꮡ"],[43938,1,"Ꮢ"],[43939,1,"Ꮣ"],[43940,1,"Ꮤ"],[43941,1,"Ꮥ"],[43942,1,"Ꮦ"],[43943,1,"Ꮧ"],[43944,1,"Ꮨ"],[43945,1,"Ꮩ"],[43946,1,"Ꮪ"],[43947,1,"Ꮫ"],[43948,1,"Ꮬ"],[43949,1,"Ꮭ"],[43950,1,"Ꮮ"],[43951,1,"Ꮯ"],[43952,1,"Ꮰ"],[43953,1,"Ꮱ"],[43954,1,"Ꮲ"],[43955,1,"Ꮳ"],[43956,1,"Ꮴ"],[43957,1,"Ꮵ"],[43958,1,"Ꮶ"],[43959,1,"Ꮷ"],[43960,1,"Ꮸ"],[43961,1,"Ꮹ"],[43962,1,"Ꮺ"],[43963,1,"Ꮻ"],[43964,1,"Ꮼ"],[43965,1,"Ꮽ"],[43966,1,"Ꮾ"],[43967,1,"Ꮿ"],[[43968,44010],2],[44011,2],[[44012,44013],2],[[44014,44015],3],[[44016,44025],2],[[44026,44031],3],[[44032,55203],2],[[55204,55215],3],[[55216,55238],2],[[55239,55242],3],[[55243,55291],2],[[55292,55295],3],[[55296,57343],3],[[57344,63743],3],[63744,1,"豈"],[63745,1,"更"],[63746,1,"車"],[63747,1,"賈"],[63748,1,"滑"],[63749,1,"串"],[63750,1,"句"],[[63751,63752],1,"龜"],[63753,1,"契"],[63754,1,"金"],[63755,1,"喇"],[63756,1,"奈"],[63757,1,"懶"],[63758,1,"癩"],[63759,1,"羅"],[63760,1,"蘿"],[63761,1,"螺"],[63762,1,"裸"],[63763,1,"邏"],[63764,1,"樂"],[63765,1,"洛"],[63766,1,"烙"],[63767,1,"珞"],[63768,1,"落"],[63769,1,"酪"],[63770,1,"駱"],[63771,1,"亂"],[63772,1,"卵"],[63773,1,"欄"],[63774,1,"爛"],[63775,1,"蘭"],[63776,1,"鸞"],[63777,1,"嵐"],[63778,1,"濫"],[63779,1,"藍"],[63780,1,"襤"],[63781,1,"拉"],[63782,1,"臘"],[63783,1,"蠟"],[63784,1,"廊"],[63785,1,"朗"],[63786,1,"浪"],[63787,1,"狼"],[63788,1,"郎"],[63789,1,"來"],[63790,1,"冷"],[63791,1,"勞"],[63792,1,"擄"],[63793,1,"櫓"],[63794,1,"爐"],[63795,1,"盧"],[63796,1,"老"],[63797,1,"蘆"],[63798,1,"虜"],[63799,1,"路"],[63800,1,"露"],[63801,1,"魯"],[63802,1,"鷺"],[63803,1,"碌"],[63804,1,"祿"],[63805,1,"綠"],[63806,1,"菉"],[63807,1,"錄"],[63808,1,"鹿"],[63809,1,"論"],[63810,1,"壟"],[63811,1,"弄"],[63812,1,"籠"],[63813,1,"聾"],[63814,1,"牢"],[63815,1,"磊"],[63816,1,"賂"],[63817,1,"雷"],[63818,1,"壘"],[63819,1,"屢"],[63820,1,"樓"],[63821,1,"淚"],[63822,1,"漏"],[63823,1,"累"],[63824,1,"縷"],[63825,1,"陋"],[63826,1,"勒"],[63827,1,"肋"],[63828,1,"凜"],[63829,1,"凌"],[63830,1,"稜"],[63831,1,"綾"],[63832,1,"菱"],[63833,1,"陵"],[63834,1,"讀"],[63835,1,"拏"],[63836,1,"樂"],[63837,1,"諾"],[63838,1,"丹"],[63839,1,"寧"],[63840,1,"怒"],[63841,1,"率"],[63842,1,"異"],[63843,1,"北"],[63844,1,"磻"],[63845,1,"便"],[63846,1,"復"],[63847,1,"不"],[63848,1,"泌"],[63849,1,"數"],[63850,1,"索"],[63851,1,"參"],[63852,1,"塞"],[63853,1,"省"],[63854,1,"葉"],[63855,1,"說"],[63856,1,"殺"],[63857,1,"辰"],[63858,1,"沈"],[63859,1,"拾"],[63860,1,"若"],[63861,1,"掠"],[63862,1,"略"],[63863,1,"亮"],[63864,1,"兩"],[63865,1,"凉"],[63866,1,"梁"],[63867,1,"糧"],[63868,1,"良"],[63869,1,"諒"],[63870,1,"量"],[63871,1,"勵"],[63872,1,"呂"],[63873,1,"女"],[63874,1,"廬"],[63875,1,"旅"],[63876,1,"濾"],[63877,1,"礪"],[63878,1,"閭"],[63879,1,"驪"],[63880,1,"麗"],[63881,1,"黎"],[63882,1,"力"],[63883,1,"曆"],[63884,1,"歷"],[63885,1,"轢"],[63886,1,"年"],[63887,1,"憐"],[63888,1,"戀"],[63889,1,"撚"],[63890,1,"漣"],[63891,1,"煉"],[63892,1,"璉"],[63893,1,"秊"],[63894,1,"練"],[63895,1,"聯"],[63896,1,"輦"],[63897,1,"蓮"],[63898,1,"連"],[63899,1,"鍊"],[63900,1,"列"],[63901,1,"劣"],[63902,1,"咽"],[63903,1,"烈"],[63904,1,"裂"],[63905,1,"說"],[63906,1,"廉"],[63907,1,"念"],[63908,1,"捻"],[63909,1,"殮"],[63910,1,"簾"],[63911,1,"獵"],[63912,1,"令"],[63913,1,"囹"],[63914,1,"寧"],[63915,1,"嶺"],[63916,1,"怜"],[63917,1,"玲"],[63918,1,"瑩"],[63919,1,"羚"],[63920,1,"聆"],[63921,1,"鈴"],[63922,1,"零"],[63923,1,"靈"],[63924,1,"領"],[63925,1,"例"],[63926,1,"禮"],[63927,1,"醴"],[63928,1,"隸"],[63929,1,"惡"],[63930,1,"了"],[63931,1,"僚"],[63932,1,"寮"],[63933,1,"尿"],[63934,1,"料"],[63935,1,"樂"],[63936,1,"燎"],[63937,1,"療"],[63938,1,"蓼"],[63939,1,"遼"],[63940,1,"龍"],[63941,1,"暈"],[63942,1,"阮"],[63943,1,"劉"],[63944,1,"杻"],[63945,1,"柳"],[63946,1,"流"],[63947,1,"溜"],[63948,1,"琉"],[63949,1,"留"],[63950,1,"硫"],[63951,1,"紐"],[63952,1,"類"],[63953,1,"六"],[63954,1,"戮"],[63955,1,"陸"],[63956,1,"倫"],[63957,1,"崙"],[63958,1,"淪"],[63959,1,"輪"],[63960,1,"律"],[63961,1,"慄"],[63962,1,"栗"],[63963,1,"率"],[63964,1,"隆"],[63965,1,"利"],[63966,1,"吏"],[63967,1,"履"],[63968,1,"易"],[63969,1,"李"],[63970,1,"梨"],[63971,1,"泥"],[63972,1,"理"],[63973,1,"痢"],[63974,1,"罹"],[63975,1,"裏"],[63976,1,"裡"],[63977,1,"里"],[63978,1,"離"],[63979,1,"匿"],[63980,1,"溺"],[63981,1,"吝"],[63982,1,"燐"],[63983,1,"璘"],[63984,1,"藺"],[63985,1,"隣"],[63986,1,"鱗"],[63987,1,"麟"],[63988,1,"林"],[63989,1,"淋"],[63990,1,"臨"],[63991,1,"立"],[63992,1,"笠"],[63993,1,"粒"],[63994,1,"狀"],[63995,1,"炙"],[63996,1,"識"],[63997,1,"什"],[63998,1,"茶"],[63999,1,"刺"],[64000,1,"切"],[64001,1,"度"],[64002,1,"拓"],[64003,1,"糖"],[64004,1,"宅"],[64005,1,"洞"],[64006,1,"暴"],[64007,1,"輻"],[64008,1,"行"],[64009,1,"降"],[64010,1,"見"],[64011,1,"廓"],[64012,1,"兀"],[64013,1,"嗀"],[[64014,64015],2],[64016,1,"塚"],[64017,2],[64018,1,"晴"],[[64019,64020],2],[64021,1,"凞"],[64022,1,"猪"],[64023,1,"益"],[64024,1,"礼"],[64025,1,"神"],[64026,1,"祥"],[64027,1,"福"],[64028,1,"靖"],[64029,1,"精"],[64030,1,"羽"],[64031,2],[64032,1,"蘒"],[64033,2],[64034,1,"諸"],[[64035,64036],2],[64037,1,"逸"],[64038,1,"都"],[[64039,64041],2],[64042,1,"飯"],[64043,1,"飼"],[64044,1,"館"],[64045,1,"鶴"],[64046,1,"郞"],[64047,1,"隷"],[64048,1,"侮"],[64049,1,"僧"],[64050,1,"免"],[64051,1,"勉"],[64052,1,"勤"],[64053,1,"卑"],[64054,1,"喝"],[64055,1,"嘆"],[64056,1,"器"],[64057,1,"塀"],[64058,1,"墨"],[64059,1,"層"],[64060,1,"屮"],[64061,1,"悔"],[64062,1,"慨"],[64063,1,"憎"],[64064,1,"懲"],[64065,1,"敏"],[64066,1,"既"],[64067,1,"暑"],[64068,1,"梅"],[64069,1,"海"],[64070,1,"渚"],[64071,1,"漢"],[64072,1,"煮"],[64073,1,"爫"],[64074,1,"琢"],[64075,1,"碑"],[64076,1,"社"],[64077,1,"祉"],[64078,1,"祈"],[64079,1,"祐"],[64080,1,"祖"],[64081,1,"祝"],[64082,1,"禍"],[64083,1,"禎"],[64084,1,"穀"],[64085,1,"突"],[64086,1,"節"],[64087,1,"練"],[64088,1,"縉"],[64089,1,"繁"],[64090,1,"署"],[64091,1,"者"],[64092,1,"臭"],[[64093,64094],1,"艹"],[64095,1,"著"],[64096,1,"褐"],[64097,1,"視"],[64098,1,"謁"],[64099,1,"謹"],[64100,1,"賓"],[64101,1,"贈"],[64102,1,"辶"],[64103,1,"逸"],[64104,1,"難"],[64105,1,"響"],[64106,1,"頻"],[64107,1,"恵"],[64108,1,"𤋮"],[64109,1,"舘"],[[64110,64111],3],[64112,1,"並"],[64113,1,"况"],[64114,1,"全"],[64115,1,"侀"],[64116,1,"充"],[64117,1,"冀"],[64118,1,"勇"],[64119,1,"勺"],[64120,1,"喝"],[64121,1,"啕"],[64122,1,"喙"],[64123,1,"嗢"],[64124,1,"塚"],[64125,1,"墳"],[64126,1,"奄"],[64127,1,"奔"],[64128,1,"婢"],[64129,1,"嬨"],[64130,1,"廒"],[64131,1,"廙"],[64132,1,"彩"],[64133,1,"徭"],[64134,1,"惘"],[64135,1,"慎"],[64136,1,"愈"],[64137,1,"憎"],[64138,1,"慠"],[64139,1,"懲"],[64140,1,"戴"],[64141,1,"揄"],[64142,1,"搜"],[64143,1,"摒"],[64144,1,"敖"],[64145,1,"晴"],[64146,1,"朗"],[64147,1,"望"],[64148,1,"杖"],[64149,1,"歹"],[64150,1,"殺"],[64151,1,"流"],[64152,1,"滛"],[64153,1,"滋"],[64154,1,"漢"],[64155,1,"瀞"],[64156,1,"煮"],[64157,1,"瞧"],[64158,1,"爵"],[64159,1,"犯"],[64160,1,"猪"],[64161,1,"瑱"],[64162,1,"甆"],[64163,1,"画"],[64164,1,"瘝"],[64165,1,"瘟"],[64166,1,"益"],[64167,1,"盛"],[64168,1,"直"],[64169,1,"睊"],[64170,1,"着"],[64171,1,"磌"],[64172,1,"窱"],[64173,1,"節"],[64174,1,"类"],[64175,1,"絛"],[64176,1,"練"],[64177,1,"缾"],[64178,1,"者"],[64179,1,"荒"],[64180,1,"華"],[64181,1,"蝹"],[64182,1,"襁"],[64183,1,"覆"],[64184,1,"視"],[64185,1,"調"],[64186,1,"諸"],[64187,1,"請"],[64188,1,"謁"],[64189,1,"諾"],[64190,1,"諭"],[64191,1,"謹"],[64192,1,"變"],[64193,1,"贈"],[64194,1,"輸"],[64195,1,"遲"],[64196,1,"醙"],[64197,1,"鉶"],[64198,1,"陼"],[64199,1,"難"],[64200,1,"靖"],[64201,1,"韛"],[64202,1,"響"],[64203,1,"頋"],[64204,1,"頻"],[64205,1,"鬒"],[64206,1,"龜"],[64207,1,"𢡊"],[64208,1,"𢡄"],[64209,1,"𣏕"],[64210,1,"㮝"],[64211,1,"䀘"],[64212,1,"䀹"],[64213,1,"𥉉"],[64214,1,"𥳐"],[64215,1,"𧻓"],[64216,1,"齃"],[64217,1,"龎"],[[64218,64255],3],[64256,1,"ff"],[64257,1,"fi"],[64258,1,"fl"],[64259,1,"ffi"],[64260,1,"ffl"],[[64261,64262],1,"st"],[[64263,64274],3],[64275,1,"մն"],[64276,1,"մե"],[64277,1,"մի"],[64278,1,"վն"],[64279,1,"մխ"],[[64280,64284],3],[64285,1,"יִ"],[64286,2],[64287,1,"ײַ"],[64288,1,"ע"],[64289,1,"א"],[64290,1,"ד"],[64291,1,"ה"],[64292,1,"כ"],[64293,1,"ל"],[64294,1,"ם"],[64295,1,"ר"],[64296,1,"ת"],[64297,5,"+"],[64298,1,"שׁ"],[64299,1,"שׂ"],[64300,1,"שּׁ"],[64301,1,"שּׂ"],[64302,1,"אַ"],[64303,1,"אָ"],[64304,1,"אּ"],[64305,1,"בּ"],[64306,1,"גּ"],[64307,1,"דּ"],[64308,1,"הּ"],[64309,1,"וּ"],[64310,1,"זּ"],[64311,3],[64312,1,"טּ"],[64313,1,"יּ"],[64314,1,"ךּ"],[64315,1,"כּ"],[64316,1,"לּ"],[64317,3],[64318,1,"מּ"],[64319,3],[64320,1,"נּ"],[64321,1,"סּ"],[64322,3],[64323,1,"ףּ"],[64324,1,"פּ"],[64325,3],[64326,1,"צּ"],[64327,1,"קּ"],[64328,1,"רּ"],[64329,1,"שּ"],[64330,1,"תּ"],[64331,1,"וֹ"],[64332,1,"בֿ"],[64333,1,"כֿ"],[64334,1,"פֿ"],[64335,1,"אל"],[[64336,64337],1,"ٱ"],[[64338,64341],1,"ٻ"],[[64342,64345],1,"پ"],[[64346,64349],1,"ڀ"],[[64350,64353],1,"ٺ"],[[64354,64357],1,"ٿ"],[[64358,64361],1,"ٹ"],[[64362,64365],1,"ڤ"],[[64366,64369],1,"ڦ"],[[64370,64373],1,"ڄ"],[[64374,64377],1,"ڃ"],[[64378,64381],1,"چ"],[[64382,64385],1,"ڇ"],[[64386,64387],1,"ڍ"],[[64388,64389],1,"ڌ"],[[64390,64391],1,"ڎ"],[[64392,64393],1,"ڈ"],[[64394,64395],1,"ژ"],[[64396,64397],1,"ڑ"],[[64398,64401],1,"ک"],[[64402,64405],1,"گ"],[[64406,64409],1,"ڳ"],[[64410,64413],1,"ڱ"],[[64414,64415],1,"ں"],[[64416,64419],1,"ڻ"],[[64420,64421],1,"ۀ"],[[64422,64425],1,"ہ"],[[64426,64429],1,"ھ"],[[64430,64431],1,"ے"],[[64432,64433],1,"ۓ"],[[64434,64449],2],[[64450,64466],3],[[64467,64470],1,"ڭ"],[[64471,64472],1,"ۇ"],[[64473,64474],1,"ۆ"],[[64475,64476],1,"ۈ"],[64477,1,"ۇٴ"],[[64478,64479],1,"ۋ"],[[64480,64481],1,"ۅ"],[[64482,64483],1,"ۉ"],[[64484,64487],1,"ې"],[[64488,64489],1,"ى"],[[64490,64491],1,"ئا"],[[64492,64493],1,"ئە"],[[64494,64495],1,"ئو"],[[64496,64497],1,"ئۇ"],[[64498,64499],1,"ئۆ"],[[64500,64501],1,"ئۈ"],[[64502,64504],1,"ئې"],[[64505,64507],1,"ئى"],[[64508,64511],1,"ی"],[64512,1,"ئج"],[64513,1,"ئح"],[64514,1,"ئم"],[64515,1,"ئى"],[64516,1,"ئي"],[64517,1,"بج"],[64518,1,"بح"],[64519,1,"بخ"],[64520,1,"بم"],[64521,1,"بى"],[64522,1,"بي"],[64523,1,"تج"],[64524,1,"تح"],[64525,1,"تخ"],[64526,1,"تم"],[64527,1,"تى"],[64528,1,"تي"],[64529,1,"ثج"],[64530,1,"ثم"],[64531,1,"ثى"],[64532,1,"ثي"],[64533,1,"جح"],[64534,1,"جم"],[64535,1,"حج"],[64536,1,"حم"],[64537,1,"خج"],[64538,1,"خح"],[64539,1,"خم"],[64540,1,"سج"],[64541,1,"سح"],[64542,1,"سخ"],[64543,1,"سم"],[64544,1,"صح"],[64545,1,"صم"],[64546,1,"ضج"],[64547,1,"ضح"],[64548,1,"ضخ"],[64549,1,"ضم"],[64550,1,"طح"],[64551,1,"طم"],[64552,1,"ظم"],[64553,1,"عج"],[64554,1,"عم"],[64555,1,"غج"],[64556,1,"غم"],[64557,1,"فج"],[64558,1,"فح"],[64559,1,"فخ"],[64560,1,"فم"],[64561,1,"فى"],[64562,1,"في"],[64563,1,"قح"],[64564,1,"قم"],[64565,1,"قى"],[64566,1,"قي"],[64567,1,"كا"],[64568,1,"كج"],[64569,1,"كح"],[64570,1,"كخ"],[64571,1,"كل"],[64572,1,"كم"],[64573,1,"كى"],[64574,1,"كي"],[64575,1,"لج"],[64576,1,"لح"],[64577,1,"لخ"],[64578,1,"لم"],[64579,1,"لى"],[64580,1,"لي"],[64581,1,"مج"],[64582,1,"مح"],[64583,1,"مخ"],[64584,1,"مم"],[64585,1,"مى"],[64586,1,"مي"],[64587,1,"نج"],[64588,1,"نح"],[64589,1,"نخ"],[64590,1,"نم"],[64591,1,"نى"],[64592,1,"ني"],[64593,1,"هج"],[64594,1,"هم"],[64595,1,"هى"],[64596,1,"هي"],[64597,1,"يج"],[64598,1,"يح"],[64599,1,"يخ"],[64600,1,"يم"],[64601,1,"يى"],[64602,1,"يي"],[64603,1,"ذٰ"],[64604,1,"رٰ"],[64605,1,"ىٰ"],[64606,5," ٌّ"],[64607,5," ٍّ"],[64608,5," َّ"],[64609,5," ُّ"],[64610,5," ِّ"],[64611,5," ّٰ"],[64612,1,"ئر"],[64613,1,"ئز"],[64614,1,"ئم"],[64615,1,"ئن"],[64616,1,"ئى"],[64617,1,"ئي"],[64618,1,"بر"],[64619,1,"بز"],[64620,1,"بم"],[64621,1,"بن"],[64622,1,"بى"],[64623,1,"بي"],[64624,1,"تر"],[64625,1,"تز"],[64626,1,"تم"],[64627,1,"تن"],[64628,1,"تى"],[64629,1,"تي"],[64630,1,"ثر"],[64631,1,"ثز"],[64632,1,"ثم"],[64633,1,"ثن"],[64634,1,"ثى"],[64635,1,"ثي"],[64636,1,"فى"],[64637,1,"في"],[64638,1,"قى"],[64639,1,"قي"],[64640,1,"كا"],[64641,1,"كل"],[64642,1,"كم"],[64643,1,"كى"],[64644,1,"كي"],[64645,1,"لم"],[64646,1,"لى"],[64647,1,"لي"],[64648,1,"ما"],[64649,1,"مم"],[64650,1,"نر"],[64651,1,"نز"],[64652,1,"نم"],[64653,1,"نن"],[64654,1,"نى"],[64655,1,"ني"],[64656,1,"ىٰ"],[64657,1,"ير"],[64658,1,"يز"],[64659,1,"يم"],[64660,1,"ين"],[64661,1,"يى"],[64662,1,"يي"],[64663,1,"ئج"],[64664,1,"ئح"],[64665,1,"ئخ"],[64666,1,"ئم"],[64667,1,"ئه"],[64668,1,"بج"],[64669,1,"بح"],[64670,1,"بخ"],[64671,1,"بم"],[64672,1,"به"],[64673,1,"تج"],[64674,1,"تح"],[64675,1,"تخ"],[64676,1,"تم"],[64677,1,"ته"],[64678,1,"ثم"],[64679,1,"جح"],[64680,1,"جم"],[64681,1,"حج"],[64682,1,"حم"],[64683,1,"خج"],[64684,1,"خم"],[64685,1,"سج"],[64686,1,"سح"],[64687,1,"سخ"],[64688,1,"سم"],[64689,1,"صح"],[64690,1,"صخ"],[64691,1,"صم"],[64692,1,"ضج"],[64693,1,"ضح"],[64694,1,"ضخ"],[64695,1,"ضم"],[64696,1,"طح"],[64697,1,"ظم"],[64698,1,"عج"],[64699,1,"عم"],[64700,1,"غج"],[64701,1,"غم"],[64702,1,"فج"],[64703,1,"فح"],[64704,1,"فخ"],[64705,1,"فم"],[64706,1,"قح"],[64707,1,"قم"],[64708,1,"كج"],[64709,1,"كح"],[64710,1,"كخ"],[64711,1,"كل"],[64712,1,"كم"],[64713,1,"لج"],[64714,1,"لح"],[64715,1,"لخ"],[64716,1,"لم"],[64717,1,"له"],[64718,1,"مج"],[64719,1,"مح"],[64720,1,"مخ"],[64721,1,"مم"],[64722,1,"نج"],[64723,1,"نح"],[64724,1,"نخ"],[64725,1,"نم"],[64726,1,"نه"],[64727,1,"هج"],[64728,1,"هم"],[64729,1,"هٰ"],[64730,1,"يج"],[64731,1,"يح"],[64732,1,"يخ"],[64733,1,"يم"],[64734,1,"يه"],[64735,1,"ئم"],[64736,1,"ئه"],[64737,1,"بم"],[64738,1,"به"],[64739,1,"تم"],[64740,1,"ته"],[64741,1,"ثم"],[64742,1,"ثه"],[64743,1,"سم"],[64744,1,"سه"],[64745,1,"شم"],[64746,1,"شه"],[64747,1,"كل"],[64748,1,"كم"],[64749,1,"لم"],[64750,1,"نم"],[64751,1,"نه"],[64752,1,"يم"],[64753,1,"يه"],[64754,1,"ـَّ"],[64755,1,"ـُّ"],[64756,1,"ـِّ"],[64757,1,"طى"],[64758,1,"طي"],[64759,1,"عى"],[64760,1,"عي"],[64761,1,"غى"],[64762,1,"غي"],[64763,1,"سى"],[64764,1,"سي"],[64765,1,"شى"],[64766,1,"شي"],[64767,1,"حى"],[64768,1,"حي"],[64769,1,"جى"],[64770,1,"جي"],[64771,1,"خى"],[64772,1,"خي"],[64773,1,"صى"],[64774,1,"صي"],[64775,1,"ضى"],[64776,1,"ضي"],[64777,1,"شج"],[64778,1,"شح"],[64779,1,"شخ"],[64780,1,"شم"],[64781,1,"شر"],[64782,1,"سر"],[64783,1,"صر"],[64784,1,"ضر"],[64785,1,"طى"],[64786,1,"طي"],[64787,1,"عى"],[64788,1,"عي"],[64789,1,"غى"],[64790,1,"غي"],[64791,1,"سى"],[64792,1,"سي"],[64793,1,"شى"],[64794,1,"شي"],[64795,1,"حى"],[64796,1,"حي"],[64797,1,"جى"],[64798,1,"جي"],[64799,1,"خى"],[64800,1,"خي"],[64801,1,"صى"],[64802,1,"صي"],[64803,1,"ضى"],[64804,1,"ضي"],[64805,1,"شج"],[64806,1,"شح"],[64807,1,"شخ"],[64808,1,"شم"],[64809,1,"شر"],[64810,1,"سر"],[64811,1,"صر"],[64812,1,"ضر"],[64813,1,"شج"],[64814,1,"شح"],[64815,1,"شخ"],[64816,1,"شم"],[64817,1,"سه"],[64818,1,"شه"],[64819,1,"طم"],[64820,1,"سج"],[64821,1,"سح"],[64822,1,"سخ"],[64823,1,"شج"],[64824,1,"شح"],[64825,1,"شخ"],[64826,1,"طم"],[64827,1,"ظم"],[[64828,64829],1,"اً"],[[64830,64831],2],[[64832,64847],3],[64848,1,"تجم"],[[64849,64850],1,"تحج"],[64851,1,"تحم"],[64852,1,"تخم"],[64853,1,"تمج"],[64854,1,"تمح"],[64855,1,"تمخ"],[[64856,64857],1,"جمح"],[64858,1,"حمي"],[64859,1,"حمى"],[64860,1,"سحج"],[64861,1,"سجح"],[64862,1,"سجى"],[[64863,64864],1,"سمح"],[64865,1,"سمج"],[[64866,64867],1,"سمم"],[[64868,64869],1,"صحح"],[64870,1,"صمم"],[[64871,64872],1,"شحم"],[64873,1,"شجي"],[[64874,64875],1,"شمخ"],[[64876,64877],1,"شمم"],[64878,1,"ضحى"],[[64879,64880],1,"ضخم"],[[64881,64882],1,"طمح"],[64883,1,"طمم"],[64884,1,"طمي"],[64885,1,"عجم"],[[64886,64887],1,"عمم"],[64888,1,"عمى"],[64889,1,"غمم"],[64890,1,"غمي"],[64891,1,"غمى"],[[64892,64893],1,"فخم"],[64894,1,"قمح"],[64895,1,"قمم"],[64896,1,"لحم"],[64897,1,"لحي"],[64898,1,"لحى"],[[64899,64900],1,"لجج"],[[64901,64902],1,"لخم"],[[64903,64904],1,"لمح"],[64905,1,"محج"],[64906,1,"محم"],[64907,1,"محي"],[64908,1,"مجح"],[64909,1,"مجم"],[64910,1,"مخج"],[64911,1,"مخم"],[[64912,64913],3],[64914,1,"مجخ"],[64915,1,"همج"],[64916,1,"همم"],[64917,1,"نحم"],[64918,1,"نحى"],[[64919,64920],1,"نجم"],[64921,1,"نجى"],[64922,1,"نمي"],[64923,1,"نمى"],[[64924,64925],1,"يمم"],[64926,1,"بخي"],[64927,1,"تجي"],[64928,1,"تجى"],[64929,1,"تخي"],[64930,1,"تخى"],[64931,1,"تمي"],[64932,1,"تمى"],[64933,1,"جمي"],[64934,1,"جحى"],[64935,1,"جمى"],[64936,1,"سخى"],[64937,1,"صحي"],[64938,1,"شحي"],[64939,1,"ضحي"],[64940,1,"لجي"],[64941,1,"لمي"],[64942,1,"يحي"],[64943,1,"يجي"],[64944,1,"يمي"],[64945,1,"ممي"],[64946,1,"قمي"],[64947,1,"نحي"],[64948,1,"قمح"],[64949,1,"لحم"],[64950,1,"عمي"],[64951,1,"كمي"],[64952,1,"نجح"],[64953,1,"مخي"],[64954,1,"لجم"],[64955,1,"كمم"],[64956,1,"لجم"],[64957,1,"نجح"],[64958,1,"جحي"],[64959,1,"حجي"],[64960,1,"مجي"],[64961,1,"فمي"],[64962,1,"بحي"],[64963,1,"كمم"],[64964,1,"عجم"],[64965,1,"صمم"],[64966,1,"سخي"],[64967,1,"نجي"],[[64968,64975],3],[[64976,65007],3],[65008,1,"صلے"],[65009,1,"قلے"],[65010,1,"الله"],[65011,1,"اكبر"],[65012,1,"محمد"],[65013,1,"صلعم"],[65014,1,"رسول"],[65015,1,"عليه"],[65016,1,"وسلم"],[65017,1,"صلى"],[65018,5,"صلى الله عليه وسلم"],[65019,5,"جل جلاله"],[65020,1,"ریال"],[65021,2],[[65022,65023],3],[[65024,65039],7],[65040,5,","],[65041,1,"、"],[65042,3],[65043,5,":"],[65044,5,";"],[65045,5,"!"],[65046,5,"?"],[65047,1,"〖"],[65048,1,"〗"],[65049,3],[[65050,65055],3],[[65056,65059],2],[[65060,65062],2],[[65063,65069],2],[[65070,65071],2],[65072,3],[65073,1,"—"],[65074,1,"–"],[[65075,65076],5,"_"],[65077,5,"("],[65078,5,")"],[65079,5,"{"],[65080,5,"}"],[65081,1,"〔"],[65082,1,"〕"],[65083,1,"【"],[65084,1,"】"],[65085,1,"《"],[65086,1,"》"],[65087,1,"〈"],[65088,1,"〉"],[65089,1,"「"],[65090,1,"」"],[65091,1,"『"],[65092,1,"』"],[[65093,65094],2],[65095,5,"["],[65096,5,"]"],[[65097,65100],5," ̅"],[[65101,65103],5,"_"],[65104,5,","],[65105,1,"、"],[65106,3],[65107,3],[65108,5,";"],[65109,5,":"],[65110,5,"?"],[65111,5,"!"],[65112,1,"—"],[65113,5,"("],[65114,5,")"],[65115,5,"{"],[65116,5,"}"],[65117,1,"〔"],[65118,1,"〕"],[65119,5,"#"],[65120,5,"&"],[65121,5,"*"],[65122,5,"+"],[65123,1,"-"],[65124,5,"<"],[65125,5,">"],[65126,5,"="],[65127,3],[65128,5,"\\"],[65129,5,"$"],[65130,5,"%"],[65131,5,"@"],[[65132,65135],3],[65136,5," ً"],[65137,1,"ـً"],[65138,5," ٌ"],[65139,2],[65140,5," ٍ"],[65141,3],[65142,5," َ"],[65143,1,"ـَ"],[65144,5," ُ"],[65145,1,"ـُ"],[65146,5," ِ"],[65147,1,"ـِ"],[65148,5," ّ"],[65149,1,"ـّ"],[65150,5," ْ"],[65151,1,"ـْ"],[65152,1,"ء"],[[65153,65154],1,"آ"],[[65155,65156],1,"أ"],[[65157,65158],1,"ؤ"],[[65159,65160],1,"إ"],[[65161,65164],1,"ئ"],[[65165,65166],1,"ا"],[[65167,65170],1,"ب"],[[65171,65172],1,"ة"],[[65173,65176],1,"ت"],[[65177,65180],1,"ث"],[[65181,65184],1,"ج"],[[65185,65188],1,"ح"],[[65189,65192],1,"خ"],[[65193,65194],1,"د"],[[65195,65196],1,"ذ"],[[65197,65198],1,"ر"],[[65199,65200],1,"ز"],[[65201,65204],1,"س"],[[65205,65208],1,"ش"],[[65209,65212],1,"ص"],[[65213,65216],1,"ض"],[[65217,65220],1,"ط"],[[65221,65224],1,"ظ"],[[65225,65228],1,"ع"],[[65229,65232],1,"غ"],[[65233,65236],1,"ف"],[[65237,65240],1,"ق"],[[65241,65244],1,"ك"],[[65245,65248],1,"ل"],[[65249,65252],1,"م"],[[65253,65256],1,"ن"],[[65257,65260],1,"ه"],[[65261,65262],1,"و"],[[65263,65264],1,"ى"],[[65265,65268],1,"ي"],[[65269,65270],1,"لآ"],[[65271,65272],1,"لأ"],[[65273,65274],1,"لإ"],[[65275,65276],1,"لا"],[[65277,65278],3],[65279,7],[65280,3],[65281,5,"!"],[65282,5,"\""],[65283,5,"#"],[65284,5,"$"],[65285,5,"%"],[65286,5,"&"],[65287,5,"'"],[65288,5,"("],[65289,5,")"],[65290,5,"*"],[65291,5,"+"],[65292,5,","],[65293,1,"-"],[65294,1,"."],[65295,5,"/"],[65296,1,"0"],[65297,1,"1"],[65298,1,"2"],[65299,1,"3"],[65300,1,"4"],[65301,1,"5"],[65302,1,"6"],[65303,1,"7"],[65304,1,"8"],[65305,1,"9"],[65306,5,":"],[65307,5,";"],[65308,5,"<"],[65309,5,"="],[65310,5,">"],[65311,5,"?"],[65312,5,"@"],[65313,1,"a"],[65314,1,"b"],[65315,1,"c"],[65316,1,"d"],[65317,1,"e"],[65318,1,"f"],[65319,1,"g"],[65320,1,"h"],[65321,1,"i"],[65322,1,"j"],[65323,1,"k"],[65324,1,"l"],[65325,1,"m"],[65326,1,"n"],[65327,1,"o"],[65328,1,"p"],[65329,1,"q"],[65330,1,"r"],[65331,1,"s"],[65332,1,"t"],[65333,1,"u"],[65334,1,"v"],[65335,1,"w"],[65336,1,"x"],[65337,1,"y"],[65338,1,"z"],[65339,5,"["],[65340,5,"\\"],[65341,5,"]"],[65342,5,"^"],[65343,5,"_"],[65344,5,"`"],[65345,1,"a"],[65346,1,"b"],[65347,1,"c"],[65348,1,"d"],[65349,1,"e"],[65350,1,"f"],[65351,1,"g"],[65352,1,"h"],[65353,1,"i"],[65354,1,"j"],[65355,1,"k"],[65356,1,"l"],[65357,1,"m"],[65358,1,"n"],[65359,1,"o"],[65360,1,"p"],[65361,1,"q"],[65362,1,"r"],[65363,1,"s"],[65364,1,"t"],[65365,1,"u"],[65366,1,"v"],[65367,1,"w"],[65368,1,"x"],[65369,1,"y"],[65370,1,"z"],[65371,5,"{"],[65372,5,"|"],[65373,5,"}"],[65374,5,"~"],[65375,1,"⦅"],[65376,1,"⦆"],[65377,1,"."],[65378,1,"「"],[65379,1,"」"],[65380,1,"、"],[65381,1,"・"],[65382,1,"ヲ"],[65383,1,"ァ"],[65384,1,"ィ"],[65385,1,"ゥ"],[65386,1,"ェ"],[65387,1,"ォ"],[65388,1,"ャ"],[65389,1,"ュ"],[65390,1,"ョ"],[65391,1,"ッ"],[65392,1,"ー"],[65393,1,"ア"],[65394,1,"イ"],[65395,1,"ウ"],[65396,1,"エ"],[65397,1,"オ"],[65398,1,"カ"],[65399,1,"キ"],[65400,1,"ク"],[65401,1,"ケ"],[65402,1,"コ"],[65403,1,"サ"],[65404,1,"シ"],[65405,1,"ス"],[65406,1,"セ"],[65407,1,"ソ"],[65408,1,"タ"],[65409,1,"チ"],[65410,1,"ツ"],[65411,1,"テ"],[65412,1,"ト"],[65413,1,"ナ"],[65414,1,"ニ"],[65415,1,"ヌ"],[65416,1,"ネ"],[65417,1,"ノ"],[65418,1,"ハ"],[65419,1,"ヒ"],[65420,1,"フ"],[65421,1,"ヘ"],[65422,1,"ホ"],[65423,1,"マ"],[65424,1,"ミ"],[65425,1,"ム"],[65426,1,"メ"],[65427,1,"モ"],[65428,1,"ヤ"],[65429,1,"ユ"],[65430,1,"ヨ"],[65431,1,"ラ"],[65432,1,"リ"],[65433,1,"ル"],[65434,1,"レ"],[65435,1,"ロ"],[65436,1,"ワ"],[65437,1,"ン"],[65438,1,"゙"],[65439,1,"゚"],[65440,3],[65441,1,"ᄀ"],[65442,1,"ᄁ"],[65443,1,"ᆪ"],[65444,1,"ᄂ"],[65445,1,"ᆬ"],[65446,1,"ᆭ"],[65447,1,"ᄃ"],[65448,1,"ᄄ"],[65449,1,"ᄅ"],[65450,1,"ᆰ"],[65451,1,"ᆱ"],[65452,1,"ᆲ"],[65453,1,"ᆳ"],[65454,1,"ᆴ"],[65455,1,"ᆵ"],[65456,1,"ᄚ"],[65457,1,"ᄆ"],[65458,1,"ᄇ"],[65459,1,"ᄈ"],[65460,1,"ᄡ"],[65461,1,"ᄉ"],[65462,1,"ᄊ"],[65463,1,"ᄋ"],[65464,1,"ᄌ"],[65465,1,"ᄍ"],[65466,1,"ᄎ"],[65467,1,"ᄏ"],[65468,1,"ᄐ"],[65469,1,"ᄑ"],[65470,1,"ᄒ"],[[65471,65473],3],[65474,1,"ᅡ"],[65475,1,"ᅢ"],[65476,1,"ᅣ"],[65477,1,"ᅤ"],[65478,1,"ᅥ"],[65479,1,"ᅦ"],[[65480,65481],3],[65482,1,"ᅧ"],[65483,1,"ᅨ"],[65484,1,"ᅩ"],[65485,1,"ᅪ"],[65486,1,"ᅫ"],[65487,1,"ᅬ"],[[65488,65489],3],[65490,1,"ᅭ"],[65491,1,"ᅮ"],[65492,1,"ᅯ"],[65493,1,"ᅰ"],[65494,1,"ᅱ"],[65495,1,"ᅲ"],[[65496,65497],3],[65498,1,"ᅳ"],[65499,1,"ᅴ"],[65500,1,"ᅵ"],[[65501,65503],3],[65504,1,"¢"],[65505,1,"£"],[65506,1,"¬"],[65507,5," ̄"],[65508,1,"¦"],[65509,1,"¥"],[65510,1,"₩"],[65511,3],[65512,1,"│"],[65513,1,"←"],[65514,1,"↑"],[65515,1,"→"],[65516,1,"↓"],[65517,1,"■"],[65518,1,"○"],[[65519,65528],3],[[65529,65531],3],[65532,3],[65533,3],[[65534,65535],3],[[65536,65547],2],[65548,3],[[65549,65574],2],[65575,3],[[65576,65594],2],[65595,3],[[65596,65597],2],[65598,3],[[65599,65613],2],[[65614,65615],3],[[65616,65629],2],[[65630,65663],3],[[65664,65786],2],[[65787,65791],3],[[65792,65794],2],[[65795,65798],3],[[65799,65843],2],[[65844,65846],3],[[65847,65855],2],[[65856,65930],2],[[65931,65932],2],[[65933,65934],2],[65935,3],[[65936,65947],2],[65948,2],[[65949,65951],3],[65952,2],[[65953,65999],3],[[66000,66044],2],[66045,2],[[66046,66175],3],[[66176,66204],2],[[66205,66207],3],[[66208,66256],2],[[66257,66271],3],[66272,2],[[66273,66299],2],[[66300,66303],3],[[66304,66334],2],[66335,2],[[66336,66339],2],[[66340,66348],3],[[66349,66351],2],[[66352,66368],2],[66369,2],[[66370,66377],2],[66378,2],[[66379,66383],3],[[66384,66426],2],[[66427,66431],3],[[66432,66461],2],[66462,3],[66463,2],[[66464,66499],2],[[66500,66503],3],[[66504,66511],2],[[66512,66517],2],[[66518,66559],3],[66560,1,"𐐨"],[66561,1,"𐐩"],[66562,1,"𐐪"],[66563,1,"𐐫"],[66564,1,"𐐬"],[66565,1,"𐐭"],[66566,1,"𐐮"],[66567,1,"𐐯"],[66568,1,"𐐰"],[66569,1,"𐐱"],[66570,1,"𐐲"],[66571,1,"𐐳"],[66572,1,"𐐴"],[66573,1,"𐐵"],[66574,1,"𐐶"],[66575,1,"𐐷"],[66576,1,"𐐸"],[66577,1,"𐐹"],[66578,1,"𐐺"],[66579,1,"𐐻"],[66580,1,"𐐼"],[66581,1,"𐐽"],[66582,1,"𐐾"],[66583,1,"𐐿"],[66584,1,"𐑀"],[66585,1,"𐑁"],[66586,1,"𐑂"],[66587,1,"𐑃"],[66588,1,"𐑄"],[66589,1,"𐑅"],[66590,1,"𐑆"],[66591,1,"𐑇"],[66592,1,"𐑈"],[66593,1,"𐑉"],[66594,1,"𐑊"],[66595,1,"𐑋"],[66596,1,"𐑌"],[66597,1,"𐑍"],[66598,1,"𐑎"],[66599,1,"𐑏"],[[66600,66637],2],[[66638,66717],2],[[66718,66719],3],[[66720,66729],2],[[66730,66735],3],[66736,1,"𐓘"],[66737,1,"𐓙"],[66738,1,"𐓚"],[66739,1,"𐓛"],[66740,1,"𐓜"],[66741,1,"𐓝"],[66742,1,"𐓞"],[66743,1,"𐓟"],[66744,1,"𐓠"],[66745,1,"𐓡"],[66746,1,"𐓢"],[66747,1,"𐓣"],[66748,1,"𐓤"],[66749,1,"𐓥"],[66750,1,"𐓦"],[66751,1,"𐓧"],[66752,1,"𐓨"],[66753,1,"𐓩"],[66754,1,"𐓪"],[66755,1,"𐓫"],[66756,1,"𐓬"],[66757,1,"𐓭"],[66758,1,"𐓮"],[66759,1,"𐓯"],[66760,1,"𐓰"],[66761,1,"𐓱"],[66762,1,"𐓲"],[66763,1,"𐓳"],[66764,1,"𐓴"],[66765,1,"𐓵"],[66766,1,"𐓶"],[66767,1,"𐓷"],[66768,1,"𐓸"],[66769,1,"𐓹"],[66770,1,"𐓺"],[66771,1,"𐓻"],[[66772,66775],3],[[66776,66811],2],[[66812,66815],3],[[66816,66855],2],[[66856,66863],3],[[66864,66915],2],[[66916,66926],3],[66927,2],[[66928,67071],3],[[67072,67382],2],[[67383,67391],3],[[67392,67413],2],[[67414,67423],3],[[67424,67431],2],[[67432,67583],3],[[67584,67589],2],[[67590,67591],3],[67592,2],[67593,3],[[67594,67637],2],[67638,3],[[67639,67640],2],[[67641,67643],3],[67644,2],[[67645,67646],3],[67647,2],[[67648,67669],2],[67670,3],[[67671,67679],2],[[67680,67702],2],[[67703,67711],2],[[67712,67742],2],[[67743,67750],3],[[67751,67759],2],[[67760,67807],3],[[67808,67826],2],[67827,3],[[67828,67829],2],[[67830,67834],3],[[67835,67839],2],[[67840,67861],2],[[67862,67865],2],[[67866,67867],2],[[67868,67870],3],[67871,2],[[67872,67897],2],[[67898,67902],3],[67903,2],[[67904,67967],3],[[67968,68023],2],[[68024,68027],3],[[68028,68029],2],[[68030,68031],2],[[68032,68047],2],[[68048,68049],3],[[68050,68095],2],[[68096,68099],2],[68100,3],[[68101,68102],2],[[68103,68107],3],[[68108,68115],2],[68116,3],[[68117,68119],2],[68120,3],[[68121,68147],2],[[68148,68149],2],[[68150,68151],3],[[68152,68154],2],[[68155,68158],3],[68159,2],[[68160,68167],2],[68168,2],[[68169,68175],3],[[68176,68184],2],[[68185,68191],3],[[68192,68220],2],[[68221,68223],2],[[68224,68252],2],[[68253,68255],2],[[68256,68287],3],[[68288,68295],2],[68296,2],[[68297,68326],2],[[68327,68330],3],[[68331,68342],2],[[68343,68351],3],[[68352,68405],2],[[68406,68408],3],[[68409,68415],2],[[68416,68437],2],[[68438,68439],3],[[68440,68447],2],[[68448,68466],2],[[68467,68471],3],[[68472,68479],2],[[68480,68497],2],[[68498,68504],3],[[68505,68508],2],[[68509,68520],3],[[68521,68527],2],[[68528,68607],3],[[68608,68680],2],[[68681,68735],3],[68736,1,"𐳀"],[68737,1,"𐳁"],[68738,1,"𐳂"],[68739,1,"𐳃"],[68740,1,"𐳄"],[68741,1,"𐳅"],[68742,1,"𐳆"],[68743,1,"𐳇"],[68744,1,"𐳈"],[68745,1,"𐳉"],[68746,1,"𐳊"],[68747,1,"𐳋"],[68748,1,"𐳌"],[68749,1,"𐳍"],[68750,1,"𐳎"],[68751,1,"𐳏"],[68752,1,"𐳐"],[68753,1,"𐳑"],[68754,1,"𐳒"],[68755,1,"𐳓"],[68756,1,"𐳔"],[68757,1,"𐳕"],[68758,1,"𐳖"],[68759,1,"𐳗"],[68760,1,"𐳘"],[68761,1,"𐳙"],[68762,1,"𐳚"],[68763,1,"𐳛"],[68764,1,"𐳜"],[68765,1,"𐳝"],[68766,1,"𐳞"],[68767,1,"𐳟"],[68768,1,"𐳠"],[68769,1,"𐳡"],[68770,1,"𐳢"],[68771,1,"𐳣"],[68772,1,"𐳤"],[68773,1,"𐳥"],[68774,1,"𐳦"],[68775,1,"𐳧"],[68776,1,"𐳨"],[68777,1,"𐳩"],[68778,1,"𐳪"],[68779,1,"𐳫"],[68780,1,"𐳬"],[68781,1,"𐳭"],[68782,1,"𐳮"],[68783,1,"𐳯"],[68784,1,"𐳰"],[68785,1,"𐳱"],[68786,1,"𐳲"],[[68787,68799],3],[[68800,68850],2],[[68851,68857],3],[[68858,68863],2],[[68864,68903],2],[[68904,68911],3],[[68912,68921],2],[[68922,69215],3],[[69216,69246],2],[69247,3],[[69248,69289],2],[69290,3],[[69291,69292],2],[69293,2],[[69294,69295],3],[[69296,69297],2],[[69298,69375],3],[[69376,69404],2],[[69405,69414],2],[69415,2],[[69416,69423],3],[[69424,69456],2],[[69457,69465],2],[[69466,69551],3],[[69552,69572],2],[[69573,69579],2],[[69580,69599],3],[[69600,69622],2],[[69623,69631],3],[[69632,69702],2],[[69703,69709],2],[[69710,69713],3],[[69714,69733],2],[[69734,69743],2],[[69744,69758],3],[69759,2],[[69760,69818],2],[[69819,69820],2],[69821,3],[[69822,69825],2],[[69826,69836],3],[69837,3],[[69838,69839],3],[[69840,69864],2],[[69865,69871],3],[[69872,69881],2],[[69882,69887],3],[[69888,69940],2],[69941,3],[[69942,69951],2],[[69952,69955],2],[[69956,69958],2],[69959,2],[[69960,69967],3],[[69968,70003],2],[[70004,70005],2],[70006,2],[[70007,70015],3],[[70016,70084],2],[[70085,70088],2],[[70089,70092],2],[70093,2],[[70094,70095],2],[[70096,70105],2],[70106,2],[70107,2],[70108,2],[[70109,70111],2],[70112,3],[[70113,70132],2],[[70133,70143],3],[[70144,70161],2],[70162,3],[[70163,70199],2],[[70200,70205],2],[70206,2],[[70207,70271],3],[[70272,70278],2],[70279,3],[70280,2],[70281,3],[[70282,70285],2],[70286,3],[[70287,70301],2],[70302,3],[[70303,70312],2],[70313,2],[[70314,70319],3],[[70320,70378],2],[[70379,70383],3],[[70384,70393],2],[[70394,70399],3],[70400,2],[[70401,70403],2],[70404,3],[[70405,70412],2],[[70413,70414],3],[[70415,70416],2],[[70417,70418],3],[[70419,70440],2],[70441,3],[[70442,70448],2],[70449,3],[[70450,70451],2],[70452,3],[[70453,70457],2],[70458,3],[70459,2],[[70460,70468],2],[[70469,70470],3],[[70471,70472],2],[[70473,70474],3],[[70475,70477],2],[[70478,70479],3],[70480,2],[[70481,70486],3],[70487,2],[[70488,70492],3],[[70493,70499],2],[[70500,70501],3],[[70502,70508],2],[[70509,70511],3],[[70512,70516],2],[[70517,70655],3],[[70656,70730],2],[[70731,70735],2],[[70736,70745],2],[70746,2],[70747,2],[70748,3],[70749,2],[70750,2],[70751,2],[[70752,70753],2],[[70754,70783],3],[[70784,70853],2],[70854,2],[70855,2],[[70856,70863],3],[[70864,70873],2],[[70874,71039],3],[[71040,71093],2],[[71094,71095],3],[[71096,71104],2],[[71105,71113],2],[[71114,71127],2],[[71128,71133],2],[[71134,71167],3],[[71168,71232],2],[[71233,71235],2],[71236,2],[[71237,71247],3],[[71248,71257],2],[[71258,71263],3],[[71264,71276],2],[[71277,71295],3],[[71296,71351],2],[71352,2],[[71353,71359],3],[[71360,71369],2],[[71370,71423],3],[[71424,71449],2],[71450,2],[[71451,71452],3],[[71453,71467],2],[[71468,71471],3],[[71472,71481],2],[[71482,71487],2],[[71488,71679],3],[[71680,71738],2],[71739,2],[[71740,71839],3],[71840,1,"𑣀"],[71841,1,"𑣁"],[71842,1,"𑣂"],[71843,1,"𑣃"],[71844,1,"𑣄"],[71845,1,"𑣅"],[71846,1,"𑣆"],[71847,1,"𑣇"],[71848,1,"𑣈"],[71849,1,"𑣉"],[71850,1,"𑣊"],[71851,1,"𑣋"],[71852,1,"𑣌"],[71853,1,"𑣍"],[71854,1,"𑣎"],[71855,1,"𑣏"],[71856,1,"𑣐"],[71857,1,"𑣑"],[71858,1,"𑣒"],[71859,1,"𑣓"],[71860,1,"𑣔"],[71861,1,"𑣕"],[71862,1,"𑣖"],[71863,1,"𑣗"],[71864,1,"𑣘"],[71865,1,"𑣙"],[71866,1,"𑣚"],[71867,1,"𑣛"],[71868,1,"𑣜"],[71869,1,"𑣝"],[71870,1,"𑣞"],[71871,1,"𑣟"],[[71872,71913],2],[[71914,71922],2],[[71923,71934],3],[71935,2],[[71936,71942],2],[[71943,71944],3],[71945,2],[[71946,71947],3],[[71948,71955],2],[71956,3],[[71957,71958],2],[71959,3],[[71960,71989],2],[71990,3],[[71991,71992],2],[[71993,71994],3],[[71995,72003],2],[[72004,72006],2],[[72007,72015],3],[[72016,72025],2],[[72026,72095],3],[[72096,72103],2],[[72104,72105],3],[[72106,72151],2],[[72152,72153],3],[[72154,72161],2],[72162,2],[[72163,72164],2],[[72165,72191],3],[[72192,72254],2],[[72255,72262],2],[72263,2],[[72264,72271],3],[[72272,72323],2],[[72324,72325],2],[[72326,72345],2],[[72346,72348],2],[72349,2],[[72350,72354],2],[[72355,72383],3],[[72384,72440],2],[[72441,72703],3],[[72704,72712],2],[72713,3],[[72714,72758],2],[72759,3],[[72760,72768],2],[[72769,72773],2],[[72774,72783],3],[[72784,72793],2],[[72794,72812],2],[[72813,72815],3],[[72816,72817],2],[[72818,72847],2],[[72848,72849],3],[[72850,72871],2],[72872,3],[[72873,72886],2],[[72887,72959],3],[[72960,72966],2],[72967,3],[[72968,72969],2],[72970,3],[[72971,73014],2],[[73015,73017],3],[73018,2],[73019,3],[[73020,73021],2],[73022,3],[[73023,73031],2],[[73032,73039],3],[[73040,73049],2],[[73050,73055],3],[[73056,73061],2],[73062,3],[[73063,73064],2],[73065,3],[[73066,73102],2],[73103,3],[[73104,73105],2],[73106,3],[[73107,73112],2],[[73113,73119],3],[[73120,73129],2],[[73130,73439],3],[[73440,73462],2],[[73463,73464],2],[[73465,73647],3],[73648,2],[[73649,73663],3],[[73664,73713],2],[[73714,73726],3],[73727,2],[[73728,74606],2],[[74607,74648],2],[74649,2],[[74650,74751],3],[[74752,74850],2],[[74851,74862],2],[74863,3],[[74864,74867],2],[74868,2],[[74869,74879],3],[[74880,75075],2],[[75076,77823],3],[[77824,78894],2],[78895,3],[[78896,78904],3],[[78905,82943],3],[[82944,83526],2],[[83527,92159],3],[[92160,92728],2],[[92729,92735],3],[[92736,92766],2],[92767,3],[[92768,92777],2],[[92778,92781],3],[[92782,92783],2],[[92784,92879],3],[[92880,92909],2],[[92910,92911],3],[[92912,92916],2],[92917,2],[[92918,92927],3],[[92928,92982],2],[[92983,92991],2],[[92992,92995],2],[[92996,92997],2],[[92998,93007],3],[[93008,93017],2],[93018,3],[[93019,93025],2],[93026,3],[[93027,93047],2],[[93048,93052],3],[[93053,93071],2],[[93072,93759],3],[93760,1,"𖹠"],[93761,1,"𖹡"],[93762,1,"𖹢"],[93763,1,"𖹣"],[93764,1,"𖹤"],[93765,1,"𖹥"],[93766,1,"𖹦"],[93767,1,"𖹧"],[93768,1,"𖹨"],[93769,1,"𖹩"],[93770,1,"𖹪"],[93771,1,"𖹫"],[93772,1,"𖹬"],[93773,1,"𖹭"],[93774,1,"𖹮"],[93775,1,"𖹯"],[93776,1,"𖹰"],[93777,1,"𖹱"],[93778,1,"𖹲"],[93779,1,"𖹳"],[93780,1,"𖹴"],[93781,1,"𖹵"],[93782,1,"𖹶"],[93783,1,"𖹷"],[93784,1,"𖹸"],[93785,1,"𖹹"],[93786,1,"𖹺"],[93787,1,"𖹻"],[93788,1,"𖹼"],[93789,1,"𖹽"],[93790,1,"𖹾"],[93791,1,"𖹿"],[[93792,93823],2],[[93824,93850],2],[[93851,93951],3],[[93952,94020],2],[[94021,94026],2],[[94027,94030],3],[94031,2],[[94032,94078],2],[[94079,94087],2],[[94088,94094],3],[[94095,94111],2],[[94112,94175],3],[94176,2],[94177,2],[94178,2],[94179,2],[94180,2],[[94181,94191],3],[[94192,94193],2],[[94194,94207],3],[[94208,100332],2],[[100333,100337],2],[[100338,100343],2],[[100344,100351],3],[[100352,101106],2],[[101107,101589],2],[[101590,101631],3],[[101632,101640],2],[[101641,110591],3],[[110592,110593],2],[[110594,110878],2],[[110879,110927],3],[[110928,110930],2],[[110931,110947],3],[[110948,110951],2],[[110952,110959],3],[[110960,111355],2],[[111356,113663],3],[[113664,113770],2],[[113771,113775],3],[[113776,113788],2],[[113789,113791],3],[[113792,113800],2],[[113801,113807],3],[[113808,113817],2],[[113818,113819],3],[113820,2],[[113821,113822],2],[113823,2],[[113824,113827],7],[[113828,118783],3],[[118784,119029],2],[[119030,119039],3],[[119040,119078],2],[[119079,119080],3],[119081,2],[[119082,119133],2],[119134,1,"𝅗𝅥"],[119135,1,"𝅘𝅥"],[119136,1,"𝅘𝅥𝅮"],[119137,1,"𝅘𝅥𝅯"],[119138,1,"𝅘𝅥𝅰"],[119139,1,"𝅘𝅥𝅱"],[119140,1,"𝅘𝅥𝅲"],[[119141,119154],2],[[119155,119162],3],[[119163,119226],2],[119227,1,"𝆹𝅥"],[119228,1,"𝆺𝅥"],[119229,1,"𝆹𝅥𝅮"],[119230,1,"𝆺𝅥𝅮"],[119231,1,"𝆹𝅥𝅯"],[119232,1,"𝆺𝅥𝅯"],[[119233,119261],2],[[119262,119272],2],[[119273,119295],3],[[119296,119365],2],[[119366,119519],3],[[119520,119539],2],[[119540,119551],3],[[119552,119638],2],[[119639,119647],3],[[119648,119665],2],[[119666,119672],2],[[119673,119807],3],[119808,1,"a"],[119809,1,"b"],[119810,1,"c"],[119811,1,"d"],[119812,1,"e"],[119813,1,"f"],[119814,1,"g"],[119815,1,"h"],[119816,1,"i"],[119817,1,"j"],[119818,1,"k"],[119819,1,"l"],[119820,1,"m"],[119821,1,"n"],[119822,1,"o"],[119823,1,"p"],[119824,1,"q"],[119825,1,"r"],[119826,1,"s"],[119827,1,"t"],[119828,1,"u"],[119829,1,"v"],[119830,1,"w"],[119831,1,"x"],[119832,1,"y"],[119833,1,"z"],[119834,1,"a"],[119835,1,"b"],[119836,1,"c"],[119837,1,"d"],[119838,1,"e"],[119839,1,"f"],[119840,1,"g"],[119841,1,"h"],[119842,1,"i"],[119843,1,"j"],[119844,1,"k"],[119845,1,"l"],[119846,1,"m"],[119847,1,"n"],[119848,1,"o"],[119849,1,"p"],[119850,1,"q"],[119851,1,"r"],[119852,1,"s"],[119853,1,"t"],[119854,1,"u"],[119855,1,"v"],[119856,1,"w"],[119857,1,"x"],[119858,1,"y"],[119859,1,"z"],[119860,1,"a"],[119861,1,"b"],[119862,1,"c"],[119863,1,"d"],[119864,1,"e"],[119865,1,"f"],[119866,1,"g"],[119867,1,"h"],[119868,1,"i"],[119869,1,"j"],[119870,1,"k"],[119871,1,"l"],[119872,1,"m"],[119873,1,"n"],[119874,1,"o"],[119875,1,"p"],[119876,1,"q"],[119877,1,"r"],[119878,1,"s"],[119879,1,"t"],[119880,1,"u"],[119881,1,"v"],[119882,1,"w"],[119883,1,"x"],[119884,1,"y"],[119885,1,"z"],[119886,1,"a"],[119887,1,"b"],[119888,1,"c"],[119889,1,"d"],[119890,1,"e"],[119891,1,"f"],[119892,1,"g"],[119893,3],[119894,1,"i"],[119895,1,"j"],[119896,1,"k"],[119897,1,"l"],[119898,1,"m"],[119899,1,"n"],[119900,1,"o"],[119901,1,"p"],[119902,1,"q"],[119903,1,"r"],[119904,1,"s"],[119905,1,"t"],[119906,1,"u"],[119907,1,"v"],[119908,1,"w"],[119909,1,"x"],[119910,1,"y"],[119911,1,"z"],[119912,1,"a"],[119913,1,"b"],[119914,1,"c"],[119915,1,"d"],[119916,1,"e"],[119917,1,"f"],[119918,1,"g"],[119919,1,"h"],[119920,1,"i"],[119921,1,"j"],[119922,1,"k"],[119923,1,"l"],[119924,1,"m"],[119925,1,"n"],[119926,1,"o"],[119927,1,"p"],[119928,1,"q"],[119929,1,"r"],[119930,1,"s"],[119931,1,"t"],[119932,1,"u"],[119933,1,"v"],[119934,1,"w"],[119935,1,"x"],[119936,1,"y"],[119937,1,"z"],[119938,1,"a"],[119939,1,"b"],[119940,1,"c"],[119941,1,"d"],[119942,1,"e"],[119943,1,"f"],[119944,1,"g"],[119945,1,"h"],[119946,1,"i"],[119947,1,"j"],[119948,1,"k"],[119949,1,"l"],[119950,1,"m"],[119951,1,"n"],[119952,1,"o"],[119953,1,"p"],[119954,1,"q"],[119955,1,"r"],[119956,1,"s"],[119957,1,"t"],[119958,1,"u"],[119959,1,"v"],[119960,1,"w"],[119961,1,"x"],[119962,1,"y"],[119963,1,"z"],[119964,1,"a"],[119965,3],[119966,1,"c"],[119967,1,"d"],[[119968,119969],3],[119970,1,"g"],[[119971,119972],3],[119973,1,"j"],[119974,1,"k"],[[119975,119976],3],[119977,1,"n"],[119978,1,"o"],[119979,1,"p"],[119980,1,"q"],[119981,3],[119982,1,"s"],[119983,1,"t"],[119984,1,"u"],[119985,1,"v"],[119986,1,"w"],[119987,1,"x"],[119988,1,"y"],[119989,1,"z"],[119990,1,"a"],[119991,1,"b"],[119992,1,"c"],[119993,1,"d"],[119994,3],[119995,1,"f"],[119996,3],[119997,1,"h"],[119998,1,"i"],[119999,1,"j"],[120000,1,"k"],[120001,1,"l"],[120002,1,"m"],[120003,1,"n"],[120004,3],[120005,1,"p"],[120006,1,"q"],[120007,1,"r"],[120008,1,"s"],[120009,1,"t"],[120010,1,"u"],[120011,1,"v"],[120012,1,"w"],[120013,1,"x"],[120014,1,"y"],[120015,1,"z"],[120016,1,"a"],[120017,1,"b"],[120018,1,"c"],[120019,1,"d"],[120020,1,"e"],[120021,1,"f"],[120022,1,"g"],[120023,1,"h"],[120024,1,"i"],[120025,1,"j"],[120026,1,"k"],[120027,1,"l"],[120028,1,"m"],[120029,1,"n"],[120030,1,"o"],[120031,1,"p"],[120032,1,"q"],[120033,1,"r"],[120034,1,"s"],[120035,1,"t"],[120036,1,"u"],[120037,1,"v"],[120038,1,"w"],[120039,1,"x"],[120040,1,"y"],[120041,1,"z"],[120042,1,"a"],[120043,1,"b"],[120044,1,"c"],[120045,1,"d"],[120046,1,"e"],[120047,1,"f"],[120048,1,"g"],[120049,1,"h"],[120050,1,"i"],[120051,1,"j"],[120052,1,"k"],[120053,1,"l"],[120054,1,"m"],[120055,1,"n"],[120056,1,"o"],[120057,1,"p"],[120058,1,"q"],[120059,1,"r"],[120060,1,"s"],[120061,1,"t"],[120062,1,"u"],[120063,1,"v"],[120064,1,"w"],[120065,1,"x"],[120066,1,"y"],[120067,1,"z"],[120068,1,"a"],[120069,1,"b"],[120070,3],[120071,1,"d"],[120072,1,"e"],[120073,1,"f"],[120074,1,"g"],[[120075,120076],3],[120077,1,"j"],[120078,1,"k"],[120079,1,"l"],[120080,1,"m"],[120081,1,"n"],[120082,1,"o"],[120083,1,"p"],[120084,1,"q"],[120085,3],[120086,1,"s"],[120087,1,"t"],[120088,1,"u"],[120089,1,"v"],[120090,1,"w"],[120091,1,"x"],[120092,1,"y"],[120093,3],[120094,1,"a"],[120095,1,"b"],[120096,1,"c"],[120097,1,"d"],[120098,1,"e"],[120099,1,"f"],[120100,1,"g"],[120101,1,"h"],[120102,1,"i"],[120103,1,"j"],[120104,1,"k"],[120105,1,"l"],[120106,1,"m"],[120107,1,"n"],[120108,1,"o"],[120109,1,"p"],[120110,1,"q"],[120111,1,"r"],[120112,1,"s"],[120113,1,"t"],[120114,1,"u"],[120115,1,"v"],[120116,1,"w"],[120117,1,"x"],[120118,1,"y"],[120119,1,"z"],[120120,1,"a"],[120121,1,"b"],[120122,3],[120123,1,"d"],[120124,1,"e"],[120125,1,"f"],[120126,1,"g"],[120127,3],[120128,1,"i"],[120129,1,"j"],[120130,1,"k"],[120131,1,"l"],[120132,1,"m"],[120133,3],[120134,1,"o"],[[120135,120137],3],[120138,1,"s"],[120139,1,"t"],[120140,1,"u"],[120141,1,"v"],[120142,1,"w"],[120143,1,"x"],[120144,1,"y"],[120145,3],[120146,1,"a"],[120147,1,"b"],[120148,1,"c"],[120149,1,"d"],[120150,1,"e"],[120151,1,"f"],[120152,1,"g"],[120153,1,"h"],[120154,1,"i"],[120155,1,"j"],[120156,1,"k"],[120157,1,"l"],[120158,1,"m"],[120159,1,"n"],[120160,1,"o"],[120161,1,"p"],[120162,1,"q"],[120163,1,"r"],[120164,1,"s"],[120165,1,"t"],[120166,1,"u"],[120167,1,"v"],[120168,1,"w"],[120169,1,"x"],[120170,1,"y"],[120171,1,"z"],[120172,1,"a"],[120173,1,"b"],[120174,1,"c"],[120175,1,"d"],[120176,1,"e"],[120177,1,"f"],[120178,1,"g"],[120179,1,"h"],[120180,1,"i"],[120181,1,"j"],[120182,1,"k"],[120183,1,"l"],[120184,1,"m"],[120185,1,"n"],[120186,1,"o"],[120187,1,"p"],[120188,1,"q"],[120189,1,"r"],[120190,1,"s"],[120191,1,"t"],[120192,1,"u"],[120193,1,"v"],[120194,1,"w"],[120195,1,"x"],[120196,1,"y"],[120197,1,"z"],[120198,1,"a"],[120199,1,"b"],[120200,1,"c"],[120201,1,"d"],[120202,1,"e"],[120203,1,"f"],[120204,1,"g"],[120205,1,"h"],[120206,1,"i"],[120207,1,"j"],[120208,1,"k"],[120209,1,"l"],[120210,1,"m"],[120211,1,"n"],[120212,1,"o"],[120213,1,"p"],[120214,1,"q"],[120215,1,"r"],[120216,1,"s"],[120217,1,"t"],[120218,1,"u"],[120219,1,"v"],[120220,1,"w"],[120221,1,"x"],[120222,1,"y"],[120223,1,"z"],[120224,1,"a"],[120225,1,"b"],[120226,1,"c"],[120227,1,"d"],[120228,1,"e"],[120229,1,"f"],[120230,1,"g"],[120231,1,"h"],[120232,1,"i"],[120233,1,"j"],[120234,1,"k"],[120235,1,"l"],[120236,1,"m"],[120237,1,"n"],[120238,1,"o"],[120239,1,"p"],[120240,1,"q"],[120241,1,"r"],[120242,1,"s"],[120243,1,"t"],[120244,1,"u"],[120245,1,"v"],[120246,1,"w"],[120247,1,"x"],[120248,1,"y"],[120249,1,"z"],[120250,1,"a"],[120251,1,"b"],[120252,1,"c"],[120253,1,"d"],[120254,1,"e"],[120255,1,"f"],[120256,1,"g"],[120257,1,"h"],[120258,1,"i"],[120259,1,"j"],[120260,1,"k"],[120261,1,"l"],[120262,1,"m"],[120263,1,"n"],[120264,1,"o"],[120265,1,"p"],[120266,1,"q"],[120267,1,"r"],[120268,1,"s"],[120269,1,"t"],[120270,1,"u"],[120271,1,"v"],[120272,1,"w"],[120273,1,"x"],[120274,1,"y"],[120275,1,"z"],[120276,1,"a"],[120277,1,"b"],[120278,1,"c"],[120279,1,"d"],[120280,1,"e"],[120281,1,"f"],[120282,1,"g"],[120283,1,"h"],[120284,1,"i"],[120285,1,"j"],[120286,1,"k"],[120287,1,"l"],[120288,1,"m"],[120289,1,"n"],[120290,1,"o"],[120291,1,"p"],[120292,1,"q"],[120293,1,"r"],[120294,1,"s"],[120295,1,"t"],[120296,1,"u"],[120297,1,"v"],[120298,1,"w"],[120299,1,"x"],[120300,1,"y"],[120301,1,"z"],[120302,1,"a"],[120303,1,"b"],[120304,1,"c"],[120305,1,"d"],[120306,1,"e"],[120307,1,"f"],[120308,1,"g"],[120309,1,"h"],[120310,1,"i"],[120311,1,"j"],[120312,1,"k"],[120313,1,"l"],[120314,1,"m"],[120315,1,"n"],[120316,1,"o"],[120317,1,"p"],[120318,1,"q"],[120319,1,"r"],[120320,1,"s"],[120321,1,"t"],[120322,1,"u"],[120323,1,"v"],[120324,1,"w"],[120325,1,"x"],[120326,1,"y"],[120327,1,"z"],[120328,1,"a"],[120329,1,"b"],[120330,1,"c"],[120331,1,"d"],[120332,1,"e"],[120333,1,"f"],[120334,1,"g"],[120335,1,"h"],[120336,1,"i"],[120337,1,"j"],[120338,1,"k"],[120339,1,"l"],[120340,1,"m"],[120341,1,"n"],[120342,1,"o"],[120343,1,"p"],[120344,1,"q"],[120345,1,"r"],[120346,1,"s"],[120347,1,"t"],[120348,1,"u"],[120349,1,"v"],[120350,1,"w"],[120351,1,"x"],[120352,1,"y"],[120353,1,"z"],[120354,1,"a"],[120355,1,"b"],[120356,1,"c"],[120357,1,"d"],[120358,1,"e"],[120359,1,"f"],[120360,1,"g"],[120361,1,"h"],[120362,1,"i"],[120363,1,"j"],[120364,1,"k"],[120365,1,"l"],[120366,1,"m"],[120367,1,"n"],[120368,1,"o"],[120369,1,"p"],[120370,1,"q"],[120371,1,"r"],[120372,1,"s"],[120373,1,"t"],[120374,1,"u"],[120375,1,"v"],[120376,1,"w"],[120377,1,"x"],[120378,1,"y"],[120379,1,"z"],[120380,1,"a"],[120381,1,"b"],[120382,1,"c"],[120383,1,"d"],[120384,1,"e"],[120385,1,"f"],[120386,1,"g"],[120387,1,"h"],[120388,1,"i"],[120389,1,"j"],[120390,1,"k"],[120391,1,"l"],[120392,1,"m"],[120393,1,"n"],[120394,1,"o"],[120395,1,"p"],[120396,1,"q"],[120397,1,"r"],[120398,1,"s"],[120399,1,"t"],[120400,1,"u"],[120401,1,"v"],[120402,1,"w"],[120403,1,"x"],[120404,1,"y"],[120405,1,"z"],[120406,1,"a"],[120407,1,"b"],[120408,1,"c"],[120409,1,"d"],[120410,1,"e"],[120411,1,"f"],[120412,1,"g"],[120413,1,"h"],[120414,1,"i"],[120415,1,"j"],[120416,1,"k"],[120417,1,"l"],[120418,1,"m"],[120419,1,"n"],[120420,1,"o"],[120421,1,"p"],[120422,1,"q"],[120423,1,"r"],[120424,1,"s"],[120425,1,"t"],[120426,1,"u"],[120427,1,"v"],[120428,1,"w"],[120429,1,"x"],[120430,1,"y"],[120431,1,"z"],[120432,1,"a"],[120433,1,"b"],[120434,1,"c"],[120435,1,"d"],[120436,1,"e"],[120437,1,"f"],[120438,1,"g"],[120439,1,"h"],[120440,1,"i"],[120441,1,"j"],[120442,1,"k"],[120443,1,"l"],[120444,1,"m"],[120445,1,"n"],[120446,1,"o"],[120447,1,"p"],[120448,1,"q"],[120449,1,"r"],[120450,1,"s"],[120451,1,"t"],[120452,1,"u"],[120453,1,"v"],[120454,1,"w"],[120455,1,"x"],[120456,1,"y"],[120457,1,"z"],[120458,1,"a"],[120459,1,"b"],[120460,1,"c"],[120461,1,"d"],[120462,1,"e"],[120463,1,"f"],[120464,1,"g"],[120465,1,"h"],[120466,1,"i"],[120467,1,"j"],[120468,1,"k"],[120469,1,"l"],[120470,1,"m"],[120471,1,"n"],[120472,1,"o"],[120473,1,"p"],[120474,1,"q"],[120475,1,"r"],[120476,1,"s"],[120477,1,"t"],[120478,1,"u"],[120479,1,"v"],[120480,1,"w"],[120481,1,"x"],[120482,1,"y"],[120483,1,"z"],[120484,1,"ı"],[120485,1,"ȷ"],[[120486,120487],3],[120488,1,"α"],[120489,1,"β"],[120490,1,"γ"],[120491,1,"δ"],[120492,1,"ε"],[120493,1,"ζ"],[120494,1,"η"],[120495,1,"θ"],[120496,1,"ι"],[120497,1,"κ"],[120498,1,"λ"],[120499,1,"μ"],[120500,1,"ν"],[120501,1,"ξ"],[120502,1,"ο"],[120503,1,"π"],[120504,1,"ρ"],[120505,1,"θ"],[120506,1,"σ"],[120507,1,"τ"],[120508,1,"υ"],[120509,1,"φ"],[120510,1,"χ"],[120511,1,"ψ"],[120512,1,"ω"],[120513,1,"∇"],[120514,1,"α"],[120515,1,"β"],[120516,1,"γ"],[120517,1,"δ"],[120518,1,"ε"],[120519,1,"ζ"],[120520,1,"η"],[120521,1,"θ"],[120522,1,"ι"],[120523,1,"κ"],[120524,1,"λ"],[120525,1,"μ"],[120526,1,"ν"],[120527,1,"ξ"],[120528,1,"ο"],[120529,1,"π"],[120530,1,"ρ"],[[120531,120532],1,"σ"],[120533,1,"τ"],[120534,1,"υ"],[120535,1,"φ"],[120536,1,"χ"],[120537,1,"ψ"],[120538,1,"ω"],[120539,1,"∂"],[120540,1,"ε"],[120541,1,"θ"],[120542,1,"κ"],[120543,1,"φ"],[120544,1,"ρ"],[120545,1,"π"],[120546,1,"α"],[120547,1,"β"],[120548,1,"γ"],[120549,1,"δ"],[120550,1,"ε"],[120551,1,"ζ"],[120552,1,"η"],[120553,1,"θ"],[120554,1,"ι"],[120555,1,"κ"],[120556,1,"λ"],[120557,1,"μ"],[120558,1,"ν"],[120559,1,"ξ"],[120560,1,"ο"],[120561,1,"π"],[120562,1,"ρ"],[120563,1,"θ"],[120564,1,"σ"],[120565,1,"τ"],[120566,1,"υ"],[120567,1,"φ"],[120568,1,"χ"],[120569,1,"ψ"],[120570,1,"ω"],[120571,1,"∇"],[120572,1,"α"],[120573,1,"β"],[120574,1,"γ"],[120575,1,"δ"],[120576,1,"ε"],[120577,1,"ζ"],[120578,1,"η"],[120579,1,"θ"],[120580,1,"ι"],[120581,1,"κ"],[120582,1,"λ"],[120583,1,"μ"],[120584,1,"ν"],[120585,1,"ξ"],[120586,1,"ο"],[120587,1,"π"],[120588,1,"ρ"],[[120589,120590],1,"σ"],[120591,1,"τ"],[120592,1,"υ"],[120593,1,"φ"],[120594,1,"χ"],[120595,1,"ψ"],[120596,1,"ω"],[120597,1,"∂"],[120598,1,"ε"],[120599,1,"θ"],[120600,1,"κ"],[120601,1,"φ"],[120602,1,"ρ"],[120603,1,"π"],[120604,1,"α"],[120605,1,"β"],[120606,1,"γ"],[120607,1,"δ"],[120608,1,"ε"],[120609,1,"ζ"],[120610,1,"η"],[120611,1,"θ"],[120612,1,"ι"],[120613,1,"κ"],[120614,1,"λ"],[120615,1,"μ"],[120616,1,"ν"],[120617,1,"ξ"],[120618,1,"ο"],[120619,1,"π"],[120620,1,"ρ"],[120621,1,"θ"],[120622,1,"σ"],[120623,1,"τ"],[120624,1,"υ"],[120625,1,"φ"],[120626,1,"χ"],[120627,1,"ψ"],[120628,1,"ω"],[120629,1,"∇"],[120630,1,"α"],[120631,1,"β"],[120632,1,"γ"],[120633,1,"δ"],[120634,1,"ε"],[120635,1,"ζ"],[120636,1,"η"],[120637,1,"θ"],[120638,1,"ι"],[120639,1,"κ"],[120640,1,"λ"],[120641,1,"μ"],[120642,1,"ν"],[120643,1,"ξ"],[120644,1,"ο"],[120645,1,"π"],[120646,1,"ρ"],[[120647,120648],1,"σ"],[120649,1,"τ"],[120650,1,"υ"],[120651,1,"φ"],[120652,1,"χ"],[120653,1,"ψ"],[120654,1,"ω"],[120655,1,"∂"],[120656,1,"ε"],[120657,1,"θ"],[120658,1,"κ"],[120659,1,"φ"],[120660,1,"ρ"],[120661,1,"π"],[120662,1,"α"],[120663,1,"β"],[120664,1,"γ"],[120665,1,"δ"],[120666,1,"ε"],[120667,1,"ζ"],[120668,1,"η"],[120669,1,"θ"],[120670,1,"ι"],[120671,1,"κ"],[120672,1,"λ"],[120673,1,"μ"],[120674,1,"ν"],[120675,1,"ξ"],[120676,1,"ο"],[120677,1,"π"],[120678,1,"ρ"],[120679,1,"θ"],[120680,1,"σ"],[120681,1,"τ"],[120682,1,"υ"],[120683,1,"φ"],[120684,1,"χ"],[120685,1,"ψ"],[120686,1,"ω"],[120687,1,"∇"],[120688,1,"α"],[120689,1,"β"],[120690,1,"γ"],[120691,1,"δ"],[120692,1,"ε"],[120693,1,"ζ"],[120694,1,"η"],[120695,1,"θ"],[120696,1,"ι"],[120697,1,"κ"],[120698,1,"λ"],[120699,1,"μ"],[120700,1,"ν"],[120701,1,"ξ"],[120702,1,"ο"],[120703,1,"π"],[120704,1,"ρ"],[[120705,120706],1,"σ"],[120707,1,"τ"],[120708,1,"υ"],[120709,1,"φ"],[120710,1,"χ"],[120711,1,"ψ"],[120712,1,"ω"],[120713,1,"∂"],[120714,1,"ε"],[120715,1,"θ"],[120716,1,"κ"],[120717,1,"φ"],[120718,1,"ρ"],[120719,1,"π"],[120720,1,"α"],[120721,1,"β"],[120722,1,"γ"],[120723,1,"δ"],[120724,1,"ε"],[120725,1,"ζ"],[120726,1,"η"],[120727,1,"θ"],[120728,1,"ι"],[120729,1,"κ"],[120730,1,"λ"],[120731,1,"μ"],[120732,1,"ν"],[120733,1,"ξ"],[120734,1,"ο"],[120735,1,"π"],[120736,1,"ρ"],[120737,1,"θ"],[120738,1,"σ"],[120739,1,"τ"],[120740,1,"υ"],[120741,1,"φ"],[120742,1,"χ"],[120743,1,"ψ"],[120744,1,"ω"],[120745,1,"∇"],[120746,1,"α"],[120747,1,"β"],[120748,1,"γ"],[120749,1,"δ"],[120750,1,"ε"],[120751,1,"ζ"],[120752,1,"η"],[120753,1,"θ"],[120754,1,"ι"],[120755,1,"κ"],[120756,1,"λ"],[120757,1,"μ"],[120758,1,"ν"],[120759,1,"ξ"],[120760,1,"ο"],[120761,1,"π"],[120762,1,"ρ"],[[120763,120764],1,"σ"],[120765,1,"τ"],[120766,1,"υ"],[120767,1,"φ"],[120768,1,"χ"],[120769,1,"ψ"],[120770,1,"ω"],[120771,1,"∂"],[120772,1,"ε"],[120773,1,"θ"],[120774,1,"κ"],[120775,1,"φ"],[120776,1,"ρ"],[120777,1,"π"],[[120778,120779],1,"ϝ"],[[120780,120781],3],[120782,1,"0"],[120783,1,"1"],[120784,1,"2"],[120785,1,"3"],[120786,1,"4"],[120787,1,"5"],[120788,1,"6"],[120789,1,"7"],[120790,1,"8"],[120791,1,"9"],[120792,1,"0"],[120793,1,"1"],[120794,1,"2"],[120795,1,"3"],[120796,1,"4"],[120797,1,"5"],[120798,1,"6"],[120799,1,"7"],[120800,1,"8"],[120801,1,"9"],[120802,1,"0"],[120803,1,"1"],[120804,1,"2"],[120805,1,"3"],[120806,1,"4"],[120807,1,"5"],[120808,1,"6"],[120809,1,"7"],[120810,1,"8"],[120811,1,"9"],[120812,1,"0"],[120813,1,"1"],[120814,1,"2"],[120815,1,"3"],[120816,1,"4"],[120817,1,"5"],[120818,1,"6"],[120819,1,"7"],[120820,1,"8"],[120821,1,"9"],[120822,1,"0"],[120823,1,"1"],[120824,1,"2"],[120825,1,"3"],[120826,1,"4"],[120827,1,"5"],[120828,1,"6"],[120829,1,"7"],[120830,1,"8"],[120831,1,"9"],[[120832,121343],2],[[121344,121398],2],[[121399,121402],2],[[121403,121452],2],[[121453,121460],2],[121461,2],[[121462,121475],2],[121476,2],[[121477,121483],2],[[121484,121498],3],[[121499,121503],2],[121504,3],[[121505,121519],2],[[121520,122879],3],[[122880,122886],2],[122887,3],[[122888,122904],2],[[122905,122906],3],[[122907,122913],2],[122914,3],[[122915,122916],2],[122917,3],[[122918,122922],2],[[122923,123135],3],[[123136,123180],2],[[123181,123183],3],[[123184,123197],2],[[123198,123199],3],[[123200,123209],2],[[123210,123213],3],[123214,2],[123215,2],[[123216,123583],3],[[123584,123641],2],[[123642,123646],3],[123647,2],[[123648,124927],3],[[124928,125124],2],[[125125,125126],3],[[125127,125135],2],[[125136,125142],2],[[125143,125183],3],[125184,1,"𞤢"],[125185,1,"𞤣"],[125186,1,"𞤤"],[125187,1,"𞤥"],[125188,1,"𞤦"],[125189,1,"𞤧"],[125190,1,"𞤨"],[125191,1,"𞤩"],[125192,1,"𞤪"],[125193,1,"𞤫"],[125194,1,"𞤬"],[125195,1,"𞤭"],[125196,1,"𞤮"],[125197,1,"𞤯"],[125198,1,"𞤰"],[125199,1,"𞤱"],[125200,1,"𞤲"],[125201,1,"𞤳"],[125202,1,"𞤴"],[125203,1,"𞤵"],[125204,1,"𞤶"],[125205,1,"𞤷"],[125206,1,"𞤸"],[125207,1,"𞤹"],[125208,1,"𞤺"],[125209,1,"𞤻"],[125210,1,"𞤼"],[125211,1,"𞤽"],[125212,1,"𞤾"],[125213,1,"𞤿"],[125214,1,"𞥀"],[125215,1,"𞥁"],[125216,1,"𞥂"],[125217,1,"𞥃"],[[125218,125258],2],[125259,2],[[125260,125263],3],[[125264,125273],2],[[125274,125277],3],[[125278,125279],2],[[125280,126064],3],[[126065,126132],2],[[126133,126208],3],[[126209,126269],2],[[126270,126463],3],[126464,1,"ا"],[126465,1,"ب"],[126466,1,"ج"],[126467,1,"د"],[126468,3],[126469,1,"و"],[126470,1,"ز"],[126471,1,"ح"],[126472,1,"ط"],[126473,1,"ي"],[126474,1,"ك"],[126475,1,"ل"],[126476,1,"م"],[126477,1,"ن"],[126478,1,"س"],[126479,1,"ع"],[126480,1,"ف"],[126481,1,"ص"],[126482,1,"ق"],[126483,1,"ر"],[126484,1,"ش"],[126485,1,"ت"],[126486,1,"ث"],[126487,1,"خ"],[126488,1,"ذ"],[126489,1,"ض"],[126490,1,"ظ"],[126491,1,"غ"],[126492,1,"ٮ"],[126493,1,"ں"],[126494,1,"ڡ"],[126495,1,"ٯ"],[126496,3],[126497,1,"ب"],[126498,1,"ج"],[126499,3],[126500,1,"ه"],[[126501,126502],3],[126503,1,"ح"],[126504,3],[126505,1,"ي"],[126506,1,"ك"],[126507,1,"ل"],[126508,1,"م"],[126509,1,"ن"],[126510,1,"س"],[126511,1,"ع"],[126512,1,"ف"],[126513,1,"ص"],[126514,1,"ق"],[126515,3],[126516,1,"ش"],[126517,1,"ت"],[126518,1,"ث"],[126519,1,"خ"],[126520,3],[126521,1,"ض"],[126522,3],[126523,1,"غ"],[[126524,126529],3],[126530,1,"ج"],[[126531,126534],3],[126535,1,"ح"],[126536,3],[126537,1,"ي"],[126538,3],[126539,1,"ل"],[126540,3],[126541,1,"ن"],[126542,1,"س"],[126543,1,"ع"],[126544,3],[126545,1,"ص"],[126546,1,"ق"],[126547,3],[126548,1,"ش"],[[126549,126550],3],[126551,1,"خ"],[126552,3],[126553,1,"ض"],[126554,3],[126555,1,"غ"],[126556,3],[126557,1,"ں"],[126558,3],[126559,1,"ٯ"],[126560,3],[126561,1,"ب"],[126562,1,"ج"],[126563,3],[126564,1,"ه"],[[126565,126566],3],[126567,1,"ح"],[126568,1,"ط"],[126569,1,"ي"],[126570,1,"ك"],[126571,3],[126572,1,"م"],[126573,1,"ن"],[126574,1,"س"],[126575,1,"ع"],[126576,1,"ف"],[126577,1,"ص"],[126578,1,"ق"],[126579,3],[126580,1,"ش"],[126581,1,"ت"],[126582,1,"ث"],[126583,1,"خ"],[126584,3],[126585,1,"ض"],[126586,1,"ظ"],[126587,1,"غ"],[126588,1,"ٮ"],[126589,3],[126590,1,"ڡ"],[126591,3],[126592,1,"ا"],[126593,1,"ب"],[126594,1,"ج"],[126595,1,"د"],[126596,1,"ه"],[126597,1,"و"],[126598,1,"ز"],[126599,1,"ح"],[126600,1,"ط"],[126601,1,"ي"],[126602,3],[126603,1,"ل"],[126604,1,"م"],[126605,1,"ن"],[126606,1,"س"],[126607,1,"ع"],[126608,1,"ف"],[126609,1,"ص"],[126610,1,"ق"],[126611,1,"ر"],[126612,1,"ش"],[126613,1,"ت"],[126614,1,"ث"],[126615,1,"خ"],[126616,1,"ذ"],[126617,1,"ض"],[126618,1,"ظ"],[126619,1,"غ"],[[126620,126624],3],[126625,1,"ب"],[126626,1,"ج"],[126627,1,"د"],[126628,3],[126629,1,"و"],[126630,1,"ز"],[126631,1,"ح"],[126632,1,"ط"],[126633,1,"ي"],[126634,3],[126635,1,"ل"],[126636,1,"م"],[126637,1,"ن"],[126638,1,"س"],[126639,1,"ع"],[126640,1,"ف"],[126641,1,"ص"],[126642,1,"ق"],[126643,1,"ر"],[126644,1,"ش"],[126645,1,"ت"],[126646,1,"ث"],[126647,1,"خ"],[126648,1,"ذ"],[126649,1,"ض"],[126650,1,"ظ"],[126651,1,"غ"],[[126652,126703],3],[[126704,126705],2],[[126706,126975],3],[[126976,127019],2],[[127020,127023],3],[[127024,127123],2],[[127124,127135],3],[[127136,127150],2],[[127151,127152],3],[[127153,127166],2],[127167,2],[127168,3],[[127169,127183],2],[127184,3],[[127185,127199],2],[[127200,127221],2],[[127222,127231],3],[127232,3],[127233,5,"0,"],[127234,5,"1,"],[127235,5,"2,"],[127236,5,"3,"],[127237,5,"4,"],[127238,5,"5,"],[127239,5,"6,"],[127240,5,"7,"],[127241,5,"8,"],[127242,5,"9,"],[[127243,127244],2],[[127245,127247],2],[127248,5,"(a)"],[127249,5,"(b)"],[127250,5,"(c)"],[127251,5,"(d)"],[127252,5,"(e)"],[127253,5,"(f)"],[127254,5,"(g)"],[127255,5,"(h)"],[127256,5,"(i)"],[127257,5,"(j)"],[127258,5,"(k)"],[127259,5,"(l)"],[127260,5,"(m)"],[127261,5,"(n)"],[127262,5,"(o)"],[127263,5,"(p)"],[127264,5,"(q)"],[127265,5,"(r)"],[127266,5,"(s)"],[127267,5,"(t)"],[127268,5,"(u)"],[127269,5,"(v)"],[127270,5,"(w)"],[127271,5,"(x)"],[127272,5,"(y)"],[127273,5,"(z)"],[127274,1,"〔s〕"],[127275,1,"c"],[127276,1,"r"],[127277,1,"cd"],[127278,1,"wz"],[127279,2],[127280,1,"a"],[127281,1,"b"],[127282,1,"c"],[127283,1,"d"],[127284,1,"e"],[127285,1,"f"],[127286,1,"g"],[127287,1,"h"],[127288,1,"i"],[127289,1,"j"],[127290,1,"k"],[127291,1,"l"],[127292,1,"m"],[127293,1,"n"],[127294,1,"o"],[127295,1,"p"],[127296,1,"q"],[127297,1,"r"],[127298,1,"s"],[127299,1,"t"],[127300,1,"u"],[127301,1,"v"],[127302,1,"w"],[127303,1,"x"],[127304,1,"y"],[127305,1,"z"],[127306,1,"hv"],[127307,1,"mv"],[127308,1,"sd"],[127309,1,"ss"],[127310,1,"ppv"],[127311,1,"wc"],[[127312,127318],2],[127319,2],[[127320,127326],2],[127327,2],[[127328,127337],2],[127338,1,"mc"],[127339,1,"md"],[127340,1,"mr"],[[127341,127343],2],[[127344,127352],2],[127353,2],[127354,2],[[127355,127356],2],[[127357,127358],2],[127359,2],[[127360,127369],2],[[127370,127373],2],[[127374,127375],2],[127376,1,"dj"],[[127377,127386],2],[[127387,127404],2],[127405,2],[[127406,127461],3],[[127462,127487],2],[127488,1,"ほか"],[127489,1,"ココ"],[127490,1,"サ"],[[127491,127503],3],[127504,1,"手"],[127505,1,"字"],[127506,1,"双"],[127507,1,"デ"],[127508,1,"二"],[127509,1,"多"],[127510,1,"解"],[127511,1,"天"],[127512,1,"交"],[127513,1,"映"],[127514,1,"無"],[127515,1,"料"],[127516,1,"前"],[127517,1,"後"],[127518,1,"再"],[127519,1,"新"],[127520,1,"初"],[127521,1,"終"],[127522,1,"生"],[127523,1,"販"],[127524,1,"声"],[127525,1,"吹"],[127526,1,"演"],[127527,1,"投"],[127528,1,"捕"],[127529,1,"一"],[127530,1,"三"],[127531,1,"遊"],[127532,1,"左"],[127533,1,"中"],[127534,1,"右"],[127535,1,"指"],[127536,1,"走"],[127537,1,"打"],[127538,1,"禁"],[127539,1,"空"],[127540,1,"合"],[127541,1,"満"],[127542,1,"有"],[127543,1,"月"],[127544,1,"申"],[127545,1,"割"],[127546,1,"営"],[127547,1,"配"],[[127548,127551],3],[127552,1,"〔本〕"],[127553,1,"〔三〕"],[127554,1,"〔二〕"],[127555,1,"〔安〕"],[127556,1,"〔点〕"],[127557,1,"〔打〕"],[127558,1,"〔盗〕"],[127559,1,"〔勝〕"],[127560,1,"〔敗〕"],[[127561,127567],3],[127568,1,"得"],[127569,1,"可"],[[127570,127583],3],[[127584,127589],2],[[127590,127743],3],[[127744,127776],2],[[127777,127788],2],[[127789,127791],2],[[127792,127797],2],[127798,2],[[127799,127868],2],[127869,2],[[127870,127871],2],[[127872,127891],2],[[127892,127903],2],[[127904,127940],2],[127941,2],[[127942,127946],2],[[127947,127950],2],[[127951,127955],2],[[127956,127967],2],[[127968,127984],2],[[127985,127991],2],[[127992,127999],2],[[128000,128062],2],[128063,2],[128064,2],[128065,2],[[128066,128247],2],[128248,2],[[128249,128252],2],[[128253,128254],2],[128255,2],[[128256,128317],2],[[128318,128319],2],[[128320,128323],2],[[128324,128330],2],[[128331,128335],2],[[128336,128359],2],[[128360,128377],2],[128378,2],[[128379,128419],2],[128420,2],[[128421,128506],2],[[128507,128511],2],[128512,2],[[128513,128528],2],[128529,2],[[128530,128532],2],[128533,2],[128534,2],[128535,2],[128536,2],[128537,2],[128538,2],[128539,2],[[128540,128542],2],[128543,2],[[128544,128549],2],[[128550,128551],2],[[128552,128555],2],[128556,2],[128557,2],[[128558,128559],2],[[128560,128563],2],[128564,2],[[128565,128576],2],[[128577,128578],2],[[128579,128580],2],[[128581,128591],2],[[128592,128639],2],[[128640,128709],2],[[128710,128719],2],[128720,2],[[128721,128722],2],[[128723,128724],2],[128725,2],[[128726,128727],2],[[128728,128735],3],[[128736,128748],2],[[128749,128751],3],[[128752,128755],2],[[128756,128758],2],[[128759,128760],2],[128761,2],[128762,2],[[128763,128764],2],[[128765,128767],3],[[128768,128883],2],[[128884,128895],3],[[128896,128980],2],[[128981,128984],2],[[128985,128991],3],[[128992,129003],2],[[129004,129023],3],[[129024,129035],2],[[129036,129039],3],[[129040,129095],2],[[129096,129103],3],[[129104,129113],2],[[129114,129119],3],[[129120,129159],2],[[129160,129167],3],[[129168,129197],2],[[129198,129199],3],[[129200,129201],2],[[129202,129279],3],[[129280,129291],2],[129292,2],[[129293,129295],2],[[129296,129304],2],[[129305,129310],2],[129311,2],[[129312,129319],2],[[129320,129327],2],[129328,2],[[129329,129330],2],[[129331,129342],2],[129343,2],[[129344,129355],2],[129356,2],[[129357,129359],2],[[129360,129374],2],[[129375,129387],2],[[129388,129392],2],[129393,2],[129394,2],[[129395,129398],2],[[129399,129400],2],[129401,3],[129402,2],[129403,2],[[129404,129407],2],[[129408,129412],2],[[129413,129425],2],[[129426,129431],2],[[129432,129442],2],[[129443,129444],2],[[129445,129450],2],[[129451,129453],2],[[129454,129455],2],[[129456,129465],2],[[129466,129471],2],[129472,2],[[129473,129474],2],[[129475,129482],2],[129483,2],[129484,3],[[129485,129487],2],[[129488,129510],2],[[129511,129535],2],[[129536,129619],2],[[129620,129631],3],[[129632,129645],2],[[129646,129647],3],[[129648,129651],2],[129652,2],[[129653,129655],3],[[129656,129658],2],[[129659,129663],3],[[129664,129666],2],[[129667,129670],2],[[129671,129679],3],[[129680,129685],2],[[129686,129704],2],[[129705,129711],3],[[129712,129718],2],[[129719,129727],3],[[129728,129730],2],[[129731,129743],3],[[129744,129750],2],[[129751,129791],3],[[129792,129938],2],[129939,3],[[129940,129994],2],[[129995,130031],3],[130032,1,"0"],[130033,1,"1"],[130034,1,"2"],[130035,1,"3"],[130036,1,"4"],[130037,1,"5"],[130038,1,"6"],[130039,1,"7"],[130040,1,"8"],[130041,1,"9"],[[130042,131069],3],[[131070,131071],3],[[131072,173782],2],[[173783,173789],2],[[173790,173823],3],[[173824,177972],2],[[177973,177983],3],[[177984,178205],2],[[178206,178207],3],[[178208,183969],2],[[183970,183983],3],[[183984,191456],2],[[191457,194559],3],[194560,1,"丽"],[194561,1,"丸"],[194562,1,"乁"],[194563,1,"𠄢"],[194564,1,"你"],[194565,1,"侮"],[194566,1,"侻"],[194567,1,"倂"],[194568,1,"偺"],[194569,1,"備"],[194570,1,"僧"],[194571,1,"像"],[194572,1,"㒞"],[194573,1,"𠘺"],[194574,1,"免"],[194575,1,"兔"],[194576,1,"兤"],[194577,1,"具"],[194578,1,"𠔜"],[194579,1,"㒹"],[194580,1,"內"],[194581,1,"再"],[194582,1,"𠕋"],[194583,1,"冗"],[194584,1,"冤"],[194585,1,"仌"],[194586,1,"冬"],[194587,1,"况"],[194588,1,"𩇟"],[194589,1,"凵"],[194590,1,"刃"],[194591,1,"㓟"],[194592,1,"刻"],[194593,1,"剆"],[194594,1,"割"],[194595,1,"剷"],[194596,1,"㔕"],[194597,1,"勇"],[194598,1,"勉"],[194599,1,"勤"],[194600,1,"勺"],[194601,1,"包"],[194602,1,"匆"],[194603,1,"北"],[194604,1,"卉"],[194605,1,"卑"],[194606,1,"博"],[194607,1,"即"],[194608,1,"卽"],[[194609,194611],1,"卿"],[194612,1,"𠨬"],[194613,1,"灰"],[194614,1,"及"],[194615,1,"叟"],[194616,1,"𠭣"],[194617,1,"叫"],[194618,1,"叱"],[194619,1,"吆"],[194620,1,"咞"],[194621,1,"吸"],[194622,1,"呈"],[194623,1,"周"],[194624,1,"咢"],[194625,1,"哶"],[194626,1,"唐"],[194627,1,"啓"],[194628,1,"啣"],[[194629,194630],1,"善"],[194631,1,"喙"],[194632,1,"喫"],[194633,1,"喳"],[194634,1,"嗂"],[194635,1,"圖"],[194636,1,"嘆"],[194637,1,"圗"],[194638,1,"噑"],[194639,1,"噴"],[194640,1,"切"],[194641,1,"壮"],[194642,1,"城"],[194643,1,"埴"],[194644,1,"堍"],[194645,1,"型"],[194646,1,"堲"],[194647,1,"報"],[194648,1,"墬"],[194649,1,"𡓤"],[194650,1,"売"],[194651,1,"壷"],[194652,1,"夆"],[194653,1,"多"],[194654,1,"夢"],[194655,1,"奢"],[194656,1,"𡚨"],[194657,1,"𡛪"],[194658,1,"姬"],[194659,1,"娛"],[194660,1,"娧"],[194661,1,"姘"],[194662,1,"婦"],[194663,1,"㛮"],[194664,3],[194665,1,"嬈"],[[194666,194667],1,"嬾"],[194668,1,"𡧈"],[194669,1,"寃"],[194670,1,"寘"],[194671,1,"寧"],[194672,1,"寳"],[194673,1,"𡬘"],[194674,1,"寿"],[194675,1,"将"],[194676,3],[194677,1,"尢"],[194678,1,"㞁"],[194679,1,"屠"],[194680,1,"屮"],[194681,1,"峀"],[194682,1,"岍"],[194683,1,"𡷤"],[194684,1,"嵃"],[194685,1,"𡷦"],[194686,1,"嵮"],[194687,1,"嵫"],[194688,1,"嵼"],[194689,1,"巡"],[194690,1,"巢"],[194691,1,"㠯"],[194692,1,"巽"],[194693,1,"帨"],[194694,1,"帽"],[194695,1,"幩"],[194696,1,"㡢"],[194697,1,"𢆃"],[194698,1,"㡼"],[194699,1,"庰"],[194700,1,"庳"],[194701,1,"庶"],[194702,1,"廊"],[194703,1,"𪎒"],[194704,1,"廾"],[[194705,194706],1,"𢌱"],[194707,1,"舁"],[[194708,194709],1,"弢"],[194710,1,"㣇"],[194711,1,"𣊸"],[194712,1,"𦇚"],[194713,1,"形"],[194714,1,"彫"],[194715,1,"㣣"],[194716,1,"徚"],[194717,1,"忍"],[194718,1,"志"],[194719,1,"忹"],[194720,1,"悁"],[194721,1,"㤺"],[194722,1,"㤜"],[194723,1,"悔"],[194724,1,"𢛔"],[194725,1,"惇"],[194726,1,"慈"],[194727,1,"慌"],[194728,1,"慎"],[194729,1,"慌"],[194730,1,"慺"],[194731,1,"憎"],[194732,1,"憲"],[194733,1,"憤"],[194734,1,"憯"],[194735,1,"懞"],[194736,1,"懲"],[194737,1,"懶"],[194738,1,"成"],[194739,1,"戛"],[194740,1,"扝"],[194741,1,"抱"],[194742,1,"拔"],[194743,1,"捐"],[194744,1,"𢬌"],[194745,1,"挽"],[194746,1,"拼"],[194747,1,"捨"],[194748,1,"掃"],[194749,1,"揤"],[194750,1,"𢯱"],[194751,1,"搢"],[194752,1,"揅"],[194753,1,"掩"],[194754,1,"㨮"],[194755,1,"摩"],[194756,1,"摾"],[194757,1,"撝"],[194758,1,"摷"],[194759,1,"㩬"],[194760,1,"敏"],[194761,1,"敬"],[194762,1,"𣀊"],[194763,1,"旣"],[194764,1,"書"],[194765,1,"晉"],[194766,1,"㬙"],[194767,1,"暑"],[194768,1,"㬈"],[194769,1,"㫤"],[194770,1,"冒"],[194771,1,"冕"],[194772,1,"最"],[194773,1,"暜"],[194774,1,"肭"],[194775,1,"䏙"],[194776,1,"朗"],[194777,1,"望"],[194778,1,"朡"],[194779,1,"杞"],[194780,1,"杓"],[194781,1,"𣏃"],[194782,1,"㭉"],[194783,1,"柺"],[194784,1,"枅"],[194785,1,"桒"],[194786,1,"梅"],[194787,1,"𣑭"],[194788,1,"梎"],[194789,1,"栟"],[194790,1,"椔"],[194791,1,"㮝"],[194792,1,"楂"],[194793,1,"榣"],[194794,1,"槪"],[194795,1,"檨"],[194796,1,"𣚣"],[194797,1,"櫛"],[194798,1,"㰘"],[194799,1,"次"],[194800,1,"𣢧"],[194801,1,"歔"],[194802,1,"㱎"],[194803,1,"歲"],[194804,1,"殟"],[194805,1,"殺"],[194806,1,"殻"],[194807,1,"𣪍"],[194808,1,"𡴋"],[194809,1,"𣫺"],[194810,1,"汎"],[194811,1,"𣲼"],[194812,1,"沿"],[194813,1,"泍"],[194814,1,"汧"],[194815,1,"洖"],[194816,1,"派"],[194817,1,"海"],[194818,1,"流"],[194819,1,"浩"],[194820,1,"浸"],[194821,1,"涅"],[194822,1,"𣴞"],[194823,1,"洴"],[194824,1,"港"],[194825,1,"湮"],[194826,1,"㴳"],[194827,1,"滋"],[194828,1,"滇"],[194829,1,"𣻑"],[194830,1,"淹"],[194831,1,"潮"],[194832,1,"𣽞"],[194833,1,"𣾎"],[194834,1,"濆"],[194835,1,"瀹"],[194836,1,"瀞"],[194837,1,"瀛"],[194838,1,"㶖"],[194839,1,"灊"],[194840,1,"災"],[194841,1,"灷"],[194842,1,"炭"],[194843,1,"𠔥"],[194844,1,"煅"],[194845,1,"𤉣"],[194846,1,"熜"],[194847,3],[194848,1,"爨"],[194849,1,"爵"],[194850,1,"牐"],[194851,1,"𤘈"],[194852,1,"犀"],[194853,1,"犕"],[194854,1,"𤜵"],[194855,1,"𤠔"],[194856,1,"獺"],[194857,1,"王"],[194858,1,"㺬"],[194859,1,"玥"],[[194860,194861],1,"㺸"],[194862,1,"瑇"],[194863,1,"瑜"],[194864,1,"瑱"],[194865,1,"璅"],[194866,1,"瓊"],[194867,1,"㼛"],[194868,1,"甤"],[194869,1,"𤰶"],[194870,1,"甾"],[194871,1,"𤲒"],[194872,1,"異"],[194873,1,"𢆟"],[194874,1,"瘐"],[194875,1,"𤾡"],[194876,1,"𤾸"],[194877,1,"𥁄"],[194878,1,"㿼"],[194879,1,"䀈"],[194880,1,"直"],[194881,1,"𥃳"],[194882,1,"𥃲"],[194883,1,"𥄙"],[194884,1,"𥄳"],[194885,1,"眞"],[[194886,194887],1,"真"],[194888,1,"睊"],[194889,1,"䀹"],[194890,1,"瞋"],[194891,1,"䁆"],[194892,1,"䂖"],[194893,1,"𥐝"],[194894,1,"硎"],[194895,1,"碌"],[194896,1,"磌"],[194897,1,"䃣"],[194898,1,"𥘦"],[194899,1,"祖"],[194900,1,"𥚚"],[194901,1,"𥛅"],[194902,1,"福"],[194903,1,"秫"],[194904,1,"䄯"],[194905,1,"穀"],[194906,1,"穊"],[194907,1,"穏"],[194908,1,"𥥼"],[[194909,194910],1,"𥪧"],[194911,3],[194912,1,"䈂"],[194913,1,"𥮫"],[194914,1,"篆"],[194915,1,"築"],[194916,1,"䈧"],[194917,1,"𥲀"],[194918,1,"糒"],[194919,1,"䊠"],[194920,1,"糨"],[194921,1,"糣"],[194922,1,"紀"],[194923,1,"𥾆"],[194924,1,"絣"],[194925,1,"䌁"],[194926,1,"緇"],[194927,1,"縂"],[194928,1,"繅"],[194929,1,"䌴"],[194930,1,"𦈨"],[194931,1,"𦉇"],[194932,1,"䍙"],[194933,1,"𦋙"],[194934,1,"罺"],[194935,1,"𦌾"],[194936,1,"羕"],[194937,1,"翺"],[194938,1,"者"],[194939,1,"𦓚"],[194940,1,"𦔣"],[194941,1,"聠"],[194942,1,"𦖨"],[194943,1,"聰"],[194944,1,"𣍟"],[194945,1,"䏕"],[194946,1,"育"],[194947,1,"脃"],[194948,1,"䐋"],[194949,1,"脾"],[194950,1,"媵"],[194951,1,"𦞧"],[194952,1,"𦞵"],[194953,1,"𣎓"],[194954,1,"𣎜"],[194955,1,"舁"],[194956,1,"舄"],[194957,1,"辞"],[194958,1,"䑫"],[194959,1,"芑"],[194960,1,"芋"],[194961,1,"芝"],[194962,1,"劳"],[194963,1,"花"],[194964,1,"芳"],[194965,1,"芽"],[194966,1,"苦"],[194967,1,"𦬼"],[194968,1,"若"],[194969,1,"茝"],[194970,1,"荣"],[194971,1,"莭"],[194972,1,"茣"],[194973,1,"莽"],[194974,1,"菧"],[194975,1,"著"],[194976,1,"荓"],[194977,1,"菊"],[194978,1,"菌"],[194979,1,"菜"],[194980,1,"𦰶"],[194981,1,"𦵫"],[194982,1,"𦳕"],[194983,1,"䔫"],[194984,1,"蓱"],[194985,1,"蓳"],[194986,1,"蔖"],[194987,1,"𧏊"],[194988,1,"蕤"],[194989,1,"𦼬"],[194990,1,"䕝"],[194991,1,"䕡"],[194992,1,"𦾱"],[194993,1,"𧃒"],[194994,1,"䕫"],[194995,1,"虐"],[194996,1,"虜"],[194997,1,"虧"],[194998,1,"虩"],[194999,1,"蚩"],[195000,1,"蚈"],[195001,1,"蜎"],[195002,1,"蛢"],[195003,1,"蝹"],[195004,1,"蜨"],[195005,1,"蝫"],[195006,1,"螆"],[195007,3],[195008,1,"蟡"],[195009,1,"蠁"],[195010,1,"䗹"],[195011,1,"衠"],[195012,1,"衣"],[195013,1,"𧙧"],[195014,1,"裗"],[195015,1,"裞"],[195016,1,"䘵"],[195017,1,"裺"],[195018,1,"㒻"],[195019,1,"𧢮"],[195020,1,"𧥦"],[195021,1,"䚾"],[195022,1,"䛇"],[195023,1,"誠"],[195024,1,"諭"],[195025,1,"變"],[195026,1,"豕"],[195027,1,"𧲨"],[195028,1,"貫"],[195029,1,"賁"],[195030,1,"贛"],[195031,1,"起"],[195032,1,"𧼯"],[195033,1,"𠠄"],[195034,1,"跋"],[195035,1,"趼"],[195036,1,"跰"],[195037,1,"𠣞"],[195038,1,"軔"],[195039,1,"輸"],[195040,1,"𨗒"],[195041,1,"𨗭"],[195042,1,"邔"],[195043,1,"郱"],[195044,1,"鄑"],[195045,1,"𨜮"],[195046,1,"鄛"],[195047,1,"鈸"],[195048,1,"鋗"],[195049,1,"鋘"],[195050,1,"鉼"],[195051,1,"鏹"],[195052,1,"鐕"],[195053,1,"𨯺"],[195054,1,"開"],[195055,1,"䦕"],[195056,1,"閷"],[195057,1,"𨵷"],[195058,1,"䧦"],[195059,1,"雃"],[195060,1,"嶲"],[195061,1,"霣"],[195062,1,"𩅅"],[195063,1,"𩈚"],[195064,1,"䩮"],[195065,1,"䩶"],[195066,1,"韠"],[195067,1,"𩐊"],[195068,1,"䪲"],[195069,1,"𩒖"],[[195070,195071],1,"頋"],[195072,1,"頩"],[195073,1,"𩖶"],[195074,1,"飢"],[195075,1,"䬳"],[195076,1,"餩"],[195077,1,"馧"],[195078,1,"駂"],[195079,1,"駾"],[195080,1,"䯎"],[195081,1,"𩬰"],[195082,1,"鬒"],[195083,1,"鱀"],[195084,1,"鳽"],[195085,1,"䳎"],[195086,1,"䳭"],[195087,1,"鵧"],[195088,1,"𪃎"],[195089,1,"䳸"],[195090,1,"𪄅"],[195091,1,"𪈎"],[195092,1,"𪊑"],[195093,1,"麻"],[195094,1,"䵖"],[195095,1,"黹"],[195096,1,"黾"],[195097,1,"鼅"],[195098,1,"鼏"],[195099,1,"鼖"],[195100,1,"鼻"],[195101,1,"𪘀"],[[195102,196605],3],[[196606,196607],3],[[196608,201546],2],[[201547,262141],3],[[262142,262143],3],[[262144,327677],3],[[327678,327679],3],[[327680,393213],3],[[393214,393215],3],[[393216,458749],3],[[458750,458751],3],[[458752,524285],3],[[524286,524287],3],[[524288,589821],3],[[589822,589823],3],[[589824,655357],3],[[655358,655359],3],[[655360,720893],3],[[720894,720895],3],[[720896,786429],3],[[786430,786431],3],[[786432,851965],3],[[851966,851967],3],[[851968,917501],3],[[917502,917503],3],[917504,3],[917505,3],[[917506,917535],3],[[917536,917631],3],[[917632,917759],3],[[917760,917999],7],[[918000,983037],3],[[983038,983039],3],[[983040,1048573],3],[[1048574,1048575],3],[[1048576,1114109],3],[[1114110,1114111],3]]
-},{}],1053:[function(require,module,exports){
+},{}],1057:[function(require,module,exports){
 "use strict";
 
 const combiningMarks = /[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1AC0\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\u{101FD}\u{102E0}\u{10376}-\u{1037A}\u{10A01}-\u{10A03}\u{10A05}\u{10A06}\u{10A0C}-\u{10A0F}\u{10A38}-\u{10A3A}\u{10A3F}\u{10AE5}\u{10AE6}\u{10D24}-\u{10D27}\u{10EAB}\u{10EAC}\u{10F46}-\u{10F50}\u{11000}-\u{11002}\u{11038}-\u{11046}\u{1107F}-\u{11082}\u{110B0}-\u{110BA}\u{11100}-\u{11102}\u{11127}-\u{11134}\u{11145}\u{11146}\u{11173}\u{11180}-\u{11182}\u{111B3}-\u{111C0}\u{111C9}-\u{111CC}\u{111CE}\u{111CF}\u{1122C}-\u{11237}\u{1123E}\u{112DF}-\u{112EA}\u{11300}-\u{11303}\u{1133B}\u{1133C}\u{1133E}-\u{11344}\u{11347}\u{11348}\u{1134B}-\u{1134D}\u{11357}\u{11362}\u{11363}\u{11366}-\u{1136C}\u{11370}-\u{11374}\u{11435}-\u{11446}\u{1145E}\u{114B0}-\u{114C3}\u{115AF}-\u{115B5}\u{115B8}-\u{115C0}\u{115DC}\u{115DD}\u{11630}-\u{11640}\u{116AB}-\u{116B7}\u{1171D}-\u{1172B}\u{1182C}-\u{1183A}\u{11930}-\u{11935}\u{11937}\u{11938}\u{1193B}-\u{1193E}\u{11940}\u{11942}\u{11943}\u{119D1}-\u{119D7}\u{119DA}-\u{119E0}\u{119E4}\u{11A01}-\u{11A0A}\u{11A33}-\u{11A39}\u{11A3B}-\u{11A3E}\u{11A47}\u{11A51}-\u{11A5B}\u{11A8A}-\u{11A99}\u{11C2F}-\u{11C36}\u{11C38}-\u{11C3F}\u{11C92}-\u{11CA7}\u{11CA9}-\u{11CB6}\u{11D31}-\u{11D36}\u{11D3A}\u{11D3C}\u{11D3D}\u{11D3F}-\u{11D45}\u{11D47}\u{11D8A}-\u{11D8E}\u{11D90}\u{11D91}\u{11D93}-\u{11D97}\u{11EF3}-\u{11EF6}\u{16AF0}-\u{16AF4}\u{16B30}-\u{16B36}\u{16F4F}\u{16F51}-\u{16F87}\u{16F8F}-\u{16F92}\u{16FE4}\u{16FF0}\u{16FF1}\u{1BC9D}\u{1BC9E}\u{1D165}-\u{1D169}\u{1D16D}-\u{1D172}\u{1D17B}-\u{1D182}\u{1D185}-\u{1D18B}\u{1D1AA}-\u{1D1AD}\u{1D242}-\u{1D244}\u{1DA00}-\u{1DA36}\u{1DA3B}-\u{1DA6C}\u{1DA75}\u{1DA84}\u{1DA9B}-\u{1DA9F}\u{1DAA1}-\u{1DAAF}\u{1E000}-\u{1E006}\u{1E008}-\u{1E018}\u{1E01B}-\u{1E021}\u{1E023}\u{1E024}\u{1E026}-\u{1E02A}\u{1E130}-\u{1E136}\u{1E2EC}-\u{1E2EF}\u{1E8D0}-\u{1E8D6}\u{1E944}-\u{1E94A}\u{E0100}-\u{E01EF}]/u;
@@ -207697,7 +207759,7 @@ module.exports = {
   bidiS6
 };
 
-},{}],1054:[function(require,module,exports){
+},{}],1058:[function(require,module,exports){
 "use strict";
 
 module.exports.STATUS_MAPPING = {
@@ -207710,7 +207772,7 @@ module.exports.STATUS_MAPPING = {
   ignored: 7
 };
 
-},{}],1055:[function(require,module,exports){
+},{}],1059:[function(require,module,exports){
 (function (global){(function (){
 /*! *****************************************************************************
 Copyright (c) Microsoft Corporation.
@@ -208020,7 +208082,7 @@ var __createBinding;
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],1056:[function(require,module,exports){
+},{}],1060:[function(require,module,exports){
 (function (global){(function (){
 (function (global, factory) {
 	typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -208412,7 +208474,7 @@ return typeDetect;
 })));
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],1057:[function(require,module,exports){
+},{}],1061:[function(require,module,exports){
 'use strict'
 
 exports.fromCallback = function (fn) {
@@ -208439,7 +208501,7 @@ exports.fromPromise = function (fn) {
   }, 'name', { value: fn.name })
 }
 
-},{}],1058:[function(require,module,exports){
+},{}],1062:[function(require,module,exports){
 // Copyright Joyent, Inc. and other Node contributors.
 //
 // Permission is hereby granted, free of charge, to any person obtaining a
@@ -209173,7 +209235,7 @@ Url.prototype.parseHost = function() {
   if (host) this.hostname = host;
 };
 
-},{"./util":1059,"punycode":984,"querystring":989}],1059:[function(require,module,exports){
+},{"./util":1063,"punycode":988,"querystring":993}],1063:[function(require,module,exports){
 'use strict';
 
 module.exports = {
@@ -209191,7 +209253,7 @@ module.exports = {
   }
 };
 
-},{}],1060:[function(require,module,exports){
+},{}],1064:[function(require,module,exports){
 (function (global){(function (){
 
 /**
@@ -209262,9 +209324,9 @@ function config (name) {
 }
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{}],1061:[function(require,module,exports){
-arguments[4][70][0].apply(exports,arguments)
-},{"dup":70}],1062:[function(require,module,exports){
+},{}],1065:[function(require,module,exports){
+arguments[4][74][0].apply(exports,arguments)
+},{"dup":74}],1066:[function(require,module,exports){
 // Currently in sync with Node.js lib/internal/util/types.js
 // https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9
 
@@ -209600,7 +209662,7 @@ exports.isAnyArrayBuffer = isAnyArrayBuffer;
   });
 });
 
-},{"is-arguments":329,"is-generator-function":330,"is-typed-array":332,"which-typed-array":1115}],1063:[function(require,module,exports){
+},{"is-arguments":333,"is-generator-function":334,"is-typed-array":336,"which-typed-array":1119}],1067:[function(require,module,exports){
 (function (process){(function (){
 // Copyright Joyent, Inc. and other Node contributors.
 //
@@ -210319,7 +210381,7 @@ function callbackify(original) {
 exports.callbackify = callbackify;
 
 }).call(this)}).call(this,require('_process'))
-},{"./support/isBuffer":1061,"./support/types":1062,"_process":974,"inherits":328}],1064:[function(require,module,exports){
+},{"./support/isBuffer":1065,"./support/types":1066,"_process":978,"inherits":332}],1068:[function(require,module,exports){
 "use strict";
 
 const { getGlobalMonotonicClockMS } = require("./lib/global-monotonic-clock");
@@ -210332,7 +210394,7 @@ module.exports = {
   clockIsAccurate
 };
 
-},{"./lib/clock-is-accurate":1066,"./lib/global-monotonic-clock":1067,"./lib/performance":1068}],1065:[function(require,module,exports){
+},{"./lib/clock-is-accurate":1070,"./lib/global-monotonic-clock":1071,"./lib/performance":1072}],1069:[function(require,module,exports){
 "use strict";
 
 // This files implements the calculation of the offset between the global monotonic clock and UNIX time. This value is
@@ -210373,7 +210435,7 @@ if (clockIsAccurate) {
   module.exports = undefined;
 }
 
-},{"./clock-is-accurate":1066,"./global-monotonic-clock":1067}],1066:[function(require,module,exports){
+},{"./clock-is-accurate":1070,"./global-monotonic-clock":1071}],1070:[function(require,module,exports){
 "use strict";
 
 const { hrtime } = require("./utils");
@@ -210436,7 +210498,7 @@ const isAccurate = accurates >= THRESHOLD;
 
 module.exports = isAccurate;
 
-},{"./utils":1069}],1067:[function(require,module,exports){
+},{"./utils":1073}],1071:[function(require,module,exports){
 "use strict";
 
 const { hrtime, toMS } = require("./utils");
@@ -210448,7 +210510,7 @@ function getGlobalMonotonicClockMS() {
 
 module.exports = { getGlobalMonotonicClockMS };
 
-},{"./utils":1069}],1068:[function(require,module,exports){
+},{"./utils":1073}],1072:[function(require,module,exports){
 "use strict";
 
 // Actual implementation of the Performance class.
@@ -210503,7 +210565,7 @@ class Performance {
 
 module.exports = { Performance };
 
-},{"./calculate-clock-offset":1065,"./clock-is-accurate":1066,"./utils":1069}],1069:[function(require,module,exports){
+},{"./calculate-clock-offset":1069,"./clock-is-accurate":1070,"./utils":1073}],1073:[function(require,module,exports){
 "use strict";
 
 // Browserify's process implementation doesn't have hrtime, and this package is small so not much of a burden for
@@ -210516,7 +210578,7 @@ function toMS([sec, nanosec]) {
 
 module.exports = { hrtime, toMS };
 
-},{"browser-process-hrtime":1070}],1070:[function(require,module,exports){
+},{"browser-process-hrtime":1074}],1074:[function(require,module,exports){
 (function (process,global){(function (){
 module.exports = process.hrtime || hrtime
 
@@ -210547,7 +210609,7 @@ function hrtime(previousTimestamp){
   return [seconds,nanoseconds]
 }
 }).call(this)}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"_process":974}],1071:[function(require,module,exports){
+},{"_process":978}],1075:[function(require,module,exports){
 "use strict";
 
 const xnv = require("xml-name-validator");
@@ -210677,7 +210739,7 @@ module.exports.generatePrefix = generatePrefix;
 module.exports.serializeAttributeValue = serializeAttributeValue;
 module.exports.serializeAttributes = serializeAttributes;
 
-},{"./constants":1072,"xml-name-validator":1117}],1072:[function(require,module,exports){
+},{"./constants":1076,"xml-name-validator":1121}],1076:[function(require,module,exports){
 "use strict";
 
 module.exports.NAMESPACES = {
@@ -210723,7 +210785,7 @@ module.exports.VOID_ELEMENTS = new Set([
   "wbr"
 ]);
 
-},{}],1073:[function(require,module,exports){
+},{}],1077:[function(require,module,exports){
 "use strict";
 
 const xnv = require("xml-name-validator");
@@ -211096,7 +211158,7 @@ module.exports = (root, { requireWellFormed = false } = {}) => {
   });
 };
 
-},{"./attributes":1071,"./constants":1072,"xml-name-validator":1117}],1074:[function(require,module,exports){
+},{"./attributes":1075,"./constants":1076,"xml-name-validator":1121}],1078:[function(require,module,exports){
 (function (Buffer){(function (){
 /**
  * Copyright (c) 2019, Peculiar Ventures, All rights reserved.
@@ -212441,7 +212503,7 @@ exports.isJWK = isJWK;
 exports.json = index$3;
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"@peculiar/asn1-schema":32,"@peculiar/json-schema":41,"asn1js":67,"buffer":124,"pvtsutils":985,"tslib":1055}],1075:[function(require,module,exports){
+},{"@peculiar/asn1-schema":36,"@peculiar/json-schema":45,"asn1js":71,"buffer":128,"pvtsutils":989,"tslib":1059}],1079:[function(require,module,exports){
 "use strict";
 
 function makeException(ErrorType, message, opts = {}) {
@@ -212932,7 +212994,7 @@ exports.Function = convertCallbackFunction;
 
 exports.VoidFunction = convertCallbackFunction;
 
-},{}],1076:[function(require,module,exports){
+},{}],1080:[function(require,module,exports){
 module.exports={
   "866": "IBM866",
   "unicode-1-1-utf-8": "UTF-8",
@@ -213140,7 +213202,7 @@ module.exports={
   "utf-16": "UTF-16LE",
   "utf-16le": "UTF-16LE"
 }
-},{}],1077:[function(require,module,exports){
+},{}],1081:[function(require,module,exports){
 module.exports=[
   "UTF-8",
   "IBM866",
@@ -213178,7 +213240,7 @@ module.exports=[
   "UTF-16BE",
   "UTF-16LE"
 ]
-},{}],1078:[function(require,module,exports){
+},{}],1082:[function(require,module,exports){
 "use strict";
 const iconvLite = require("iconv-lite");
 const supportedNames = require("./supported-names.json");
@@ -213227,7 +213289,7 @@ exports.isSupported = name => {
   return supportedNamesSet.has(String(name));
 };
 
-},{"./labels-to-names.json":1076,"./supported-names.json":1077,"iconv-lite":1097}],1079:[function(require,module,exports){
+},{"./labels-to-names.json":1080,"./supported-names.json":1081,"iconv-lite":1101}],1083:[function(require,module,exports){
 "use strict";
 var Buffer = require("safer-buffer").Buffer;
 
@@ -213784,7 +213846,7 @@ function findIdx(table, val) {
 }
 
 
-},{"safer-buffer":994}],1080:[function(require,module,exports){
+},{"safer-buffer":998}],1084:[function(require,module,exports){
 "use strict";
 
 // Description of supported double byte encodings and aliases.
@@ -213962,7 +214024,7 @@ module.exports = {
     'xxbig5': 'big5hkscs',
 };
 
-},{"./tables/big5-added.json":1086,"./tables/cp936.json":1087,"./tables/cp949.json":1088,"./tables/cp950.json":1089,"./tables/eucjp.json":1090,"./tables/gb18030-ranges.json":1091,"./tables/gbk-added.json":1092,"./tables/shiftjis.json":1093}],1081:[function(require,module,exports){
+},{"./tables/big5-added.json":1090,"./tables/cp936.json":1091,"./tables/cp949.json":1092,"./tables/cp950.json":1093,"./tables/eucjp.json":1094,"./tables/gb18030-ranges.json":1095,"./tables/gbk-added.json":1096,"./tables/shiftjis.json":1097}],1085:[function(require,module,exports){
 "use strict";
 
 // Update this array if you add/rename/remove files in this directory.
@@ -213986,7 +214048,7 @@ for (var i = 0; i < modules.length; i++) {
             exports[enc] = module[enc];
 }
 
-},{"./dbcs-codec":1079,"./dbcs-data":1080,"./internal":1082,"./sbcs-codec":1083,"./sbcs-data":1085,"./sbcs-data-generated":1084,"./utf16":1094,"./utf7":1095}],1082:[function(require,module,exports){
+},{"./dbcs-codec":1083,"./dbcs-data":1084,"./internal":1086,"./sbcs-codec":1087,"./sbcs-data":1089,"./sbcs-data-generated":1088,"./utf16":1098,"./utf7":1099}],1086:[function(require,module,exports){
 "use strict";
 var Buffer = require("safer-buffer").Buffer;
 
@@ -214176,7 +214238,7 @@ InternalDecoderCesu8.prototype.end = function() {
     return res;
 }
 
-},{"safer-buffer":994,"string_decoder":1038}],1083:[function(require,module,exports){
+},{"safer-buffer":998,"string_decoder":1042}],1087:[function(require,module,exports){
 "use strict";
 var Buffer = require("safer-buffer").Buffer;
 
@@ -214250,7 +214312,7 @@ SBCSDecoder.prototype.write = function(buf) {
 SBCSDecoder.prototype.end = function() {
 }
 
-},{"safer-buffer":994}],1084:[function(require,module,exports){
+},{"safer-buffer":998}],1088:[function(require,module,exports){
 "use strict";
 
 // Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script.
@@ -214702,7 +214764,7 @@ module.exports = {
     "chars": "���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"
   }
 }
-},{}],1085:[function(require,module,exports){
+},{}],1089:[function(require,module,exports){
 "use strict";
 
 // Manually added data to be used by sbcs codec in addition to generated one.
@@ -214878,7 +214940,7 @@ module.exports = {
 };
 
 
-},{}],1086:[function(require,module,exports){
+},{}],1090:[function(require,module,exports){
 module.exports=[
 ["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],
 ["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],
@@ -215002,7 +215064,7 @@ module.exports=[
 ["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]
 ]
 
-},{}],1087:[function(require,module,exports){
+},{}],1091:[function(require,module,exports){
 module.exports=[
 ["0","\u0000",127,"€"],
 ["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],
@@ -215268,7 +215330,7 @@ module.exports=[
 ["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]
 ]
 
-},{}],1088:[function(require,module,exports){
+},{}],1092:[function(require,module,exports){
 module.exports=[
 ["0","\u0000",127],
 ["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],
@@ -215543,7 +215605,7 @@ module.exports=[
 ["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]
 ]
 
-},{}],1089:[function(require,module,exports){
+},{}],1093:[function(require,module,exports){
 module.exports=[
 ["0","\u0000",127],
 ["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],
@@ -215722,7 +215784,7 @@ module.exports=[
 ["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]
 ]
 
-},{}],1090:[function(require,module,exports){
+},{}],1094:[function(require,module,exports){
 module.exports=[
 ["0","\u0000",127],
 ["8ea1","。",62],
@@ -215906,9 +215968,9 @@ module.exports=[
 ["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]
 ]
 
-},{}],1091:[function(require,module,exports){
+},{}],1095:[function(require,module,exports){
 module.exports={"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}
-},{}],1092:[function(require,module,exports){
+},{}],1096:[function(require,module,exports){
 module.exports=[
 ["a140","",62],
 ["a180","",32],
@@ -215965,7 +216027,7 @@ module.exports=[
 ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]
 ]
 
-},{}],1093:[function(require,module,exports){
+},{}],1097:[function(require,module,exports){
 module.exports=[
 ["0","\u0000",128],
 ["a1","。",62],
@@ -216092,7 +216154,7 @@ module.exports=[
 ["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]
 ]
 
-},{}],1094:[function(require,module,exports){
+},{}],1098:[function(require,module,exports){
 "use strict";
 var Buffer = require("safer-buffer").Buffer;
 
@@ -216271,7 +216333,7 @@ function detectEncoding(buf, defaultEncoding) {
 
 
 
-},{"safer-buffer":994}],1095:[function(require,module,exports){
+},{"safer-buffer":998}],1099:[function(require,module,exports){
 "use strict";
 var Buffer = require("safer-buffer").Buffer;
 
@@ -216563,7 +216625,7 @@ Utf7IMAPDecoder.prototype.end = function() {
 
 
 
-},{"safer-buffer":994}],1096:[function(require,module,exports){
+},{"safer-buffer":998}],1100:[function(require,module,exports){
 "use strict";
 
 var BOMChar = '\uFEFF';
@@ -216617,7 +216679,7 @@ StripBOMWrapper.prototype.end = function() {
 }
 
 
-},{}],1097:[function(require,module,exports){
+},{}],1101:[function(require,module,exports){
 (function (process){(function (){
 "use strict";
 
@@ -216774,7 +216836,7 @@ if ("Ā" != "\u0100") {
 }
 
 }).call(this)}).call(this,require('_process'))
-},{"../encodings":1081,"./bom-handling":1096,"./extend-node":77,"./streams":77,"_process":974,"safer-buffer":994}],1098:[function(require,module,exports){
+},{"../encodings":1085,"./bom-handling":1100,"./extend-node":81,"./streams":81,"_process":978,"safer-buffer":998}],1102:[function(require,module,exports){
 "use strict";
 const parse = require("./parser.js");
 const serialize = require("./serializer.js");
@@ -216967,7 +217029,7 @@ class MIMETypeParameters {
   }
 }
 
-},{"./parser.js":1099,"./serializer.js":1100,"./utils.js":1101}],1099:[function(require,module,exports){
+},{"./parser.js":1103,"./serializer.js":1104,"./utils.js":1105}],1103:[function(require,module,exports){
 "use strict";
 const {
   removeLeadingAndTrailingHTTPWhitespace,
@@ -217093,7 +217155,7 @@ module.exports = input => {
   return mimeType;
 };
 
-},{"./utils.js":1101}],1100:[function(require,module,exports){
+},{"./utils.js":1105}],1104:[function(require,module,exports){
 "use strict";
 const { solelyContainsHTTPTokenCodePoints } = require("./utils.js");
 
@@ -217120,7 +217182,7 @@ module.exports = mimeType => {
   return serialization;
 };
 
-},{"./utils.js":1101}],1101:[function(require,module,exports){
+},{"./utils.js":1105}],1105:[function(require,module,exports){
 "use strict";
 
 exports.removeLeadingAndTrailingHTTPWhitespace = string => {
@@ -217147,9 +217209,9 @@ exports.asciiLowercase = string => {
   return string.replace(/[A-Z]/g, l => l.toLowerCase());
 };
 
-},{}],1102:[function(require,module,exports){
-arguments[4][441][0].apply(exports,arguments)
-},{"./utils.js":1112,"dup":441,"webidl-conversions":1075}],1103:[function(require,module,exports){
+},{}],1106:[function(require,module,exports){
+arguments[4][445][0].apply(exports,arguments)
+},{"./utils.js":1116,"dup":445,"webidl-conversions":1079}],1107:[function(require,module,exports){
 "use strict";
 const usm = require("./url-state-machine");
 const urlencoded = require("./urlencoded");
@@ -217368,7 +217430,7 @@ exports.implementation = class URLImpl {
   }
 };
 
-},{"./URLSearchParams":1106,"./url-state-machine":1110,"./urlencoded":1111}],1104:[function(require,module,exports){
+},{"./URLSearchParams":1110,"./url-state-machine":1114,"./urlencoded":1115}],1108:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -217787,7 +217849,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("./URL-impl.js");
 
-},{"./URL-impl.js":1103,"./utils.js":1112,"webidl-conversions":1075}],1105:[function(require,module,exports){
+},{"./URL-impl.js":1107,"./utils.js":1116,"webidl-conversions":1079}],1109:[function(require,module,exports){
 "use strict";
 const stableSortBy = require("lodash/sortBy");
 const urlencoded = require("./urlencoded");
@@ -217911,7 +217973,7 @@ exports.implementation = class URLSearchParamsImpl {
   }
 };
 
-},{"./urlencoded":1111,"lodash/sortBy":913}],1106:[function(require,module,exports){
+},{"./urlencoded":1115,"lodash/sortBy":917}],1110:[function(require,module,exports){
 "use strict";
 
 const conversions = require("webidl-conversions");
@@ -218370,7 +218432,7 @@ exports.install = (globalObject, globalNames) => {
 
 const Impl = require("./URLSearchParams-impl.js");
 
-},{"./Function.js":1102,"./URLSearchParams-impl.js":1105,"./utils.js":1112,"webidl-conversions":1075}],1107:[function(require,module,exports){
+},{"./Function.js":1106,"./URLSearchParams-impl.js":1109,"./utils.js":1116,"webidl-conversions":1079}],1111:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 let { TextEncoder, TextDecoder } = require("util");
@@ -218400,7 +218462,7 @@ module.exports = {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"util":1063}],1108:[function(require,module,exports){
+},{"util":1067}],1112:[function(require,module,exports){
 "use strict";
 
 // Note that we take code points as JS numbers, not JS strings.
@@ -218428,7 +218490,7 @@ module.exports = {
   isASCIIHex
 };
 
-},{}],1109:[function(require,module,exports){
+},{}],1113:[function(require,module,exports){
 (function (Buffer){(function (){
 "use strict";
 const { isASCIIHex } = require("./infra");
@@ -218573,7 +218635,7 @@ module.exports = {
 };
 
 }).call(this)}).call(this,require("buffer").Buffer)
-},{"./encoding":1107,"./infra":1108,"buffer":124}],1110:[function(require,module,exports){
+},{"./encoding":1111,"./infra":1112,"buffer":128}],1114:[function(require,module,exports){
 "use strict";
 const punycode = require("punycode");
 const tr46 = require("tr46");
@@ -219785,7 +219847,7 @@ module.exports.parseURL = function (input, options) {
   return module.exports.basicURLParse(input, { baseURL: options.baseURL, encodingOverride: options.encodingOverride });
 };
 
-},{"./encoding":1107,"./infra":1108,"./percent-encoding":1109,"punycode":984,"tr46":1051}],1111:[function(require,module,exports){
+},{"./encoding":1111,"./infra":1112,"./percent-encoding":1113,"punycode":988,"tr46":1055}],1115:[function(require,module,exports){
 "use strict";
 const { utf8Encode, utf8DecodeWithoutBOM } = require("./encoding");
 const { percentDecodeBytes, utf8PercentEncodeString, isURLEncodedPercentEncode } = require("./percent-encoding");
@@ -219889,9 +219951,9 @@ module.exports = {
   serializeUrlencoded
 };
 
-},{"./encoding":1107,"./percent-encoding":1109}],1112:[function(require,module,exports){
-arguments[4][591][0].apply(exports,arguments)
-},{"dup":591}],1113:[function(require,module,exports){
+},{"./encoding":1111,"./percent-encoding":1113}],1116:[function(require,module,exports){
+arguments[4][595][0].apply(exports,arguments)
+},{"dup":595}],1117:[function(require,module,exports){
 "use strict";
 
 const { URL, URLSearchParams } = require("./webidl2js-wrapper");
@@ -219917,7 +219979,7 @@ exports.cannotHaveAUsernamePasswordPort = urlStateMachine.cannotHaveAUsernamePas
 
 exports.percentDecode = percentEncoding.percentDecodeBytes;
 
-},{"./dist/percent-encoding":1109,"./dist/url-state-machine":1110,"./webidl2js-wrapper":1114}],1114:[function(require,module,exports){
+},{"./dist/percent-encoding":1113,"./dist/url-state-machine":1114,"./webidl2js-wrapper":1118}],1118:[function(require,module,exports){
 "use strict";
 
 const URL = require("./dist/URL");
@@ -219926,7 +219988,7 @@ const URLSearchParams = require("./dist/URLSearchParams");
 exports.URL = URL;
 exports.URLSearchParams = URLSearchParams;
 
-},{"./dist/URL":1104,"./dist/URLSearchParams":1106}],1115:[function(require,module,exports){
+},{"./dist/URL":1108,"./dist/URLSearchParams":1110}],1119:[function(require,module,exports){
 (function (global){(function (){
 'use strict';
 
@@ -219986,7 +220048,7 @@ module.exports = function whichTypedArray(value) {
 };
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"available-typed-arrays":73,"call-bind/callBound":126,"es-abstract/helpers/getOwnPropertyDescriptor":261,"foreach":282,"has-symbols":288,"is-typed-array":332}],1116:[function(require,module,exports){
+},{"available-typed-arrays":77,"call-bind/callBound":130,"es-abstract/helpers/getOwnPropertyDescriptor":265,"foreach":286,"has-symbols":292,"is-typed-array":336}],1120:[function(require,module,exports){
 module.exports = (function(){function _waka(parser, startRule) {
   if(startRule && ! parser.rules[startRule])
     throw new Error('start rule missing: ' + JSON.stringify(startRule))
@@ -220491,7 +220553,7 @@ return {
   rules: _rules,
 }
 })(),null)})()
-},{}],1117:[function(require,module,exports){
+},{}],1121:[function(require,module,exports){
 "use strict";
 const parser = require("./generated-parser.js");
 
@@ -220510,7 +220572,7 @@ function mapResult(result) {
     };
 }
 
-},{"./generated-parser.js":1116}],1118:[function(require,module,exports){
+},{"./generated-parser.js":1120}],1122:[function(require,module,exports){
 "use strict";
 /**
  * Character classes and associated utilities for the 5th edition of XML 1.0.
@@ -220616,7 +220678,7 @@ function isNameChar(c) {
 }
 exports.isNameChar = isNameChar;
 
-},{}],1119:[function(require,module,exports){
+},{}],1123:[function(require,module,exports){
 "use strict";
 /**
  * Character classes and associated utilities for the 2nd edition of XML 1.1.
@@ -220762,7 +220824,7 @@ function isNameChar(c) {
 }
 exports.isNameChar = isNameChar;
 
-},{}],1120:[function(require,module,exports){
+},{}],1124:[function(require,module,exports){
 "use strict";
 /**
  * Character class utilities for XML NS 1.0 edition 3.
@@ -220828,7 +220890,7 @@ function isNCNameChar(c) {
 }
 exports.isNCNameChar = isNCNameChar;
 
-},{}],1121:[function(require,module,exports){
+},{}],1125:[function(require,module,exports){
 module.exports = extend
 
 var hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -220849,7 +220911,7 @@ function extend() {
     return target
 }
 
-},{}],1122:[function(require,module,exports){
+},{}],1126:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -220887,7 +220949,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the abstract contraint defines the api for all constraints. mainly the method isValid() is defined.
+ * The abstract constraint defines the api for all constraints. mainly the method isValid() is defined.
  *
  * derived classes must implement the method isValid().
  *
@@ -220928,7 +220990,7 @@ exports.AbstractConstraint = AbstractConstraint;
 
 _namespace.Monster.assignToNamespace('Monster.Constraints', AbstractConstraint);
 
-},{"../namespace.js":1143,"../types/base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1123:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1127:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221001,7 +221063,7 @@ exports.AbstractOperator = AbstractOperator;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', AbstractOperator);
 
-},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1124:[function(require,module,exports){
+},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1128:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221043,8 +221105,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
- * new Monster.Constraint.AndOperator(new Monster.Constraint.Valid(), new Monster.Constraint.Valid()).then(()=>console.log(true)).catch(()=>console.log(false));
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
+ * new Monster.Constraint.AndOperator();
  * </script>
  * ```
  *
@@ -221052,11 +221114,28 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/valid.js';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/andoperator.js';
- * new AndOperator(new Valid(), new Valid()).then(()=>console.log(true)).catch(()=>console.log(false));
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
+ * new AndOperator();
  * </script>
  * ```
+ * 
+ * @example
+ *
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/andoperator.js';
+ *
+ * new AndOperator(
+ * new Valid(), new Valid()).isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ true
+ *
+ * new AndOperator(
+ * new Invalid(), new Valid()).isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ false
  *
  * @since 1.3.0
  * @copyright schukai GmbH
@@ -221092,7 +221171,7 @@ exports.AndOperator = AndOperator;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', AndOperator);
 
-},{"./abstract.js":1122,"./abstractoperator.js":1123,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1125:[function(require,module,exports){
+},{"./abstract.js":1126,"./abstractoperator.js":1127,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1129:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221128,14 +221207,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the invalid constraint allows an always invalid query to be performed. this contraint is mainly intended for testing.
+ * The invalid constraint allows an always invalid query to be performed. this constraint is mainly intended for testing.
  *
- * you can call the method via the monster namespace `new Monster.Constraint.Invalid()`.
+ * You can call the method via the monster namespace `new Monster.Constraint.Invalid()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * new Monster.Constraint.Invalid().catch(()=>console.log(true));
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * new Monster.Constraint.Invalid();
  * </script>
  * ```
  *
@@ -221143,11 +221222,20 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/invalid.js';
- * new Invalid().catch(()=>console.log(true));
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * new Invalid();
  * </script>
  * ```
  *
+ * @example
+ *
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ *
+ * new Invalid().isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ false
+ *
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster/Constraints
@@ -221182,7 +221270,7 @@ exports.Invalid = Invalid;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', Invalid);
 
-},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1126:[function(require,module,exports){
+},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1130:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221220,11 +221308,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * you can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
+ * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new Monster.Constraint.IsArray())
  * </script>
  * ```
@@ -221233,10 +221321,24 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isarray.js';
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
  * console.log(new IsArray())
  * </script>
  * ```
+ * 
+ * @example
+ *
+ * import {IsArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isarray.js';
+ *
+ * new IsArray()
+ * .isValid([])
+ * .then(()=>console.log(true));
+ * // ↦ true
+ *
+ * new IsArray()
+ * .isValid(99)
+ * .catch(e=>console.log(e));
+ * // ↦ 99
  *
  * @since 1.3.0
  * @copyright schukai GmbH
@@ -221276,7 +221378,7 @@ exports.IsArray = IsArray;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', IsArray);
 
-},{"../types/is.js":1147,"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1127:[function(require,module,exports){
+},{"../types/is.js":1155,"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1131:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221314,11 +221416,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * you can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
+ * You can call the method via the monster namespace `new Monster.Constraint.IsObject()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new Monster.Constraint.IsObject())
  * </script>
  * ```
@@ -221327,10 +221429,25 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/isobject.js';
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
  * console.log(new IsObject())
  * </script>
  * ```
+ * 
+ * @example
+ *
+ * import {IsObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/isobject.js';
+ *
+ * new IsObject()
+ * .isValid({})
+ * .then(()=>console.log(true));
+ * // ↦ true
+ *
+ *
+ * new IsObject()
+ * .isValid(99)
+ * .catch(e=>console.log(e));
+ * // ↦ 99
  *
  * @since 1.3.0
  * @copyright schukai GmbH
@@ -221370,7 +221487,7 @@ exports.IsObject = IsObject;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', IsObject);
 
-},{"../types/is.js":1147,"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1128:[function(require,module,exports){
+},{"../types/is.js":1155,"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1132:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221410,8 +221527,8 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
- * new Monster.Constraint.OrOperator(new Monster.Constraint.Valid(), new Monster.Constraint.Valid()).then(()=>console.log(true)).catch(()=>console.log(false));
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
+ * new Monster.Constraint.OrOperator();
  * </script>
  * ```
  *
@@ -221419,12 +221536,29 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/valid.js';
- * import {AndOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraint/oroperator.js';
- * new OrOperator(new Valid(), new Valid()).then(()=>console.log(true)).catch(()=>console.log(false));
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraint/oroperator.js';
+ * new OrOperator();
  * </script>
  * ```
  *
+ * @example
+ *
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * import {Invalid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/invalid.js';
+ * import {OrOperator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/oroperator.js';
+ *
+ * new OrOperator(
+ * new Valid(), new Invalid()).isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ true
+ *
+ * new OrOperator(
+ * new Invalid(), new Invalid()).isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ false
+ *
  * @since 1.3.0
  * @copyright schukai GmbH
  * @memberOf Monster/Constraints
@@ -221482,7 +221616,7 @@ exports.OrOperator = OrOperator;
 
 _abstractoperator.Monster.assignToNamespace('Monster.Constraints', OrOperator);
 
-},{"./abstractoperator.js":1123,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1129:[function(require,module,exports){
+},{"./abstractoperator.js":1127,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1133:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221518,14 +221652,14 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the valid constraint allows an always valid query to be performed. this contraint is mainly intended for testing.
+ * The valid constraint allows an always valid query to be performed. this constraint is mainly intended for testing.
  *
- * you can call the method via the monster namespace `new Monster.Constraint.Valid()`.
+ * You can call the method via the monster namespace `new Monster.Constraint.Valid()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * new Monster.Constraint.Valid().then(()=>console.log(true));
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * new Monster.Constraint.Valid();
  * </script>
  * ```
  *
@@ -221533,10 +221667,19 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/constraints/valid.js';
- * new Valid().then(()=>console.log(true));
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ * new Valid();
  * </script>
  * ```
+ * 
+ * @example
+ *
+ * import {Valid} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/constraints/valid.js';
+ *
+ * new Valid().isValid()
+ * .then(()=>console.log(true))
+ * .catch(()=>console.log(false));
+ * // ↦ true
  *
  * @since 1.3.0
  * @copyright schukai GmbH
@@ -221572,7 +221715,203 @@ exports.Valid = Valid;
 
 _abstract.Monster.assignToNamespace('Monster.Constraints', Valid);
 
-},{"./abstract.js":1122,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1130:[function(require,module,exports){
+},{"./abstract.js":1126,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1134:[function(require,module,exports){
+'use strict';
+/**
+ * @author schukai GmbH
+ */
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+var _typeof = require("@babel/runtime/helpers/typeof");
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.buildMap = buildMap;
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _namespace.Monster;
+  }
+});
+
+var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
+
+var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
+
+var _setPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/setPrototypeOf"));
+
+var _namespace = require("../namespace.js");
+
+var _is = require("../types/is.js");
+
+var _validate = require("../types/validate.js");
+
+var _pathfinder = require("./pathfinder.js");
+
+function _wrapRegExp() { _wrapRegExp = function _wrapRegExp(re, groups) { return new BabelRegExp(re, undefined, groups); }; var _super = RegExp.prototype; var _groups = new WeakMap(); function BabelRegExp(re, flags, groups) { var _this = new RegExp(re, flags); _groups.set(_this, groups || _groups.get(re)); return (0, _setPrototypeOf2["default"])(_this, BabelRegExp.prototype); } (0, _inherits2["default"])(BabelRegExp, RegExp); BabelRegExp.prototype.exec = function (str) { var result = _super.exec.call(this, str); if (result) result.groups = buildGroups(result, this); return result; }; BabelRegExp.prototype[Symbol.replace] = function (str, substitution) { if (typeof substitution === "string") { var groups = _groups.get(this); return _super[Symbol.replace].call(this, str, substitution.replace(/\$<([^>]+)>/g, function (_, name) { return "$" + groups[name]; })); } else if (typeof substitution === "function") { var _this = this; return _super[Symbol.replace].call(this, str, function () { var args = arguments; if (_typeof(args[args.length - 1]) !== "object") { args = [].slice.call(args); args.push(buildGroups(args, _this)); } return substitution.apply(this, args); }); } else { return _super[Symbol.replace].call(this, str, substitution); } }; function buildGroups(result, re) { var g = _groups.get(re); return Object.keys(g).reduce(function (groups, name) { groups[name] = result[g[name]]; return groups; }, Object.create(null)); } return _wrapRegExp.apply(this, arguments); }
+
+/**
+ * With the help of the function `buildMap()`, maps can be easily created from data objects.
+ *
+ * Either a simple definition `a.b.c` or a template `${a.b.c}` can be specified as the path.
+ * Key and value can be either a definition or a template. The key does not have to be defined.
+ *
+ * You can call the method via the monster namespace `Monster.Data.buildMap()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/buildmap.js';
+ * console.log(Monster.Data.buildMap())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {buildMap} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/buildmap.js';
+ * console.log(buildMap())
+ * </script>
+ * ```
+ *
+ * @example
+ *
+ * // a typical data structure as reported by an api
+ *
+ * let map;
+ * let obj = {
+ *     "data": [
+ *         {
+ *             "id": 10,
+ *             "name": "Cassandra",
+ *             "address": {
+ *                 "street": "493-4105 Vulputate Street",
+ *                 "city": "Saumur",
+ *                 "zip": "52628"
+ *             }
+ *         },
+ *         {
+ *             "id": 20,
+ *             "name": "Holly",
+ *             "address": {
+ *                 "street": "1762 Eget Rd.",
+ *                 "city": "Schwalbach",
+ *                 "zip": "952340"
+ *             }
+ *         },
+ *         {
+ *             "id": 30,
+ *             "name": "Guy",
+ *             "address": {
+ *                 "street": "957-388 Sollicitudin Avenue",
+ *                 "city": "Panchià",
+ *                 "zip": "420729"
+ *             }
+ *         }
+ *     ]
+ * };
+ *
+ * // The function is passed this data structure and with the help of the selector `'data.*'` the data to be considered are selected.
+ * // The key is given by a simple definition `'id'` and the value is given by a template `'${name} (${address.zip} ${address.city})'`.
+ * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id');
+ * console.log(map);
+ *
+ * // ↦ Map(3) {
+ * //  '10' => 'Cassandra (52628 Saumur)',
+ * //  '20' => 'Holly (952340 Schwalbach)',
+ * //  '30' => 'Guy (420729 Panchià)'
+ * // }
+ *
+ * // If no key is specified, the key from the selection, here the array index, is taken.
+ * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})');
+ * console.log(map);
+ *
+ * // ↦ Map(3) {
+ * //  '0' => 'Cassandra (52628 Saumur)',
+ * //  '1' => 'Holly (952340 Schwalbach)',
+ * //  '2' => 'Guy (420729 Panchià)'
+ * // }
+ * 
+ * // a filter (function(value, key) {}) can be specified to accept only defined entries. 
+ * map = buildMap(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id', function (value, key) {
+ *                return (value['id'] >= 20) ? true : false
+ *            });
+ * console.log(map);
+ *
+ * // ↦ Map(2) {
+ * //  20 => 'Holly (952340 Schwalbach)',
+ * //  30 => 'Guy (420729 Panchià)'
+ * // }
+ *
+ * @param {*} subject
+ * @param {string} selector
+ * @param {string|undefined} valuePath
+ * @param {string|undefined} keyPath
+ * @param {function|undefined} filter  
+ * @return {*}
+ */
+function buildMap(subject, selector, valuePath, keyPath, filter) {
+  (0, _validate.validateString)(selector);
+  var result = new Map();
+  var finder = new _pathfinder.Pathfinder(subject);
+  var map = finder.getVia(selector);
+
+  if (!(map instanceof Map)) {
+    return result;
+  }
+
+  map.forEach(function (v, k, m) {
+    if ((0, _is.isFunction)(filter)) {
+      if (filter.call(m, v, k) !== true) return;
+    }
+
+    k = build(v, keyPath, k);
+    v = build(v, valuePath);
+    result.set(k, v);
+  });
+  return result;
+}
+/**
+ * @private
+ * @param {*} subject
+ * @param {string|undefined} definition
+ * @param {*} defaultValue
+ * @return {*}
+ */
+
+
+function build(subject, definition, defaultValue) {
+  if (definition === undefined) return defaultValue ? defaultValue : subject;
+  (0, _validate.validateString)(definition);
+
+  var regexp = /*#__PURE__*/_wrapRegExp(/(\$\{([\x2D\.a-z]*)\})/gm, {
+    placeholder: 1,
+    path: 2
+  });
+
+  var array = (0, _toConsumableArray2["default"])(definition.matchAll(regexp));
+  var finder = new _pathfinder.Pathfinder(subject);
+
+  if (array.length === 0) {
+    return finder.getVia(definition);
+  }
+
+  array.forEach(function (a) {
+    var groups = a === null || a === void 0 ? void 0 : a['groups'];
+    var placeholder = groups === null || groups === void 0 ? void 0 : groups['placeholder'];
+    if (placeholder === undefined) return;
+    var path = groups === null || groups === void 0 ? void 0 : groups['path'];
+    var v = finder.getVia(path);
+    definition = definition.replaceAll(placeholder, v);
+  });
+  return definition;
+}
+
+_namespace.Monster.assignToNamespace('Monster.Data', buildMap);
+
+},{"../namespace.js":1151,"../types/is.js":1155,"../types/validate.js":1165,"./pathfinder.js":1136,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/setPrototypeOf":20,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1135:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221600,11 +221939,11 @@ var _is = require("../types/is.js");
  *
  * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.
  *
- * you can call the method via the monster namespace `Monster.Data.Diff()`.
+ * You can call the method via the monster namespace `Monster.Data.Diff()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Monster.Data.Diff(a, b))
  * </script>
  * ```
@@ -221613,14 +221952,17 @@ var _is = require("../types/is.js");
  *
  * ```
  * <script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/diff.js';
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
  * console.log(Diff(a, b))
  * </script>
  * ```
  *
- * given are two objects x and y.
+ * @example
+ * 
+ * import {Diff} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/diff.js';
+ * 
+ * // given are two objects x and y.
  *
- * ```
  * let x = {
  *     a: 1,
  *     b: "Hello!"
@@ -221630,36 +221972,32 @@ var _is = require("../types/is.js");
  *     a: 2,
  *     c: true
  * }
- * ```
- *
- * These two objects can be compared with each other.
  *
- * ```
- *  console.log(Diff(x, y));
- * ```
- *
- * the result is then the following
- *
- * ```
- *  [
- *  {
- *         operator: 'update',
- *         path: [ 'a' ],
- *         first: { value: 1, type: 'number' },
- *         second: { value: 2, type: 'number' }
- *     },
- *  {
- *         operator: 'delete',
- *         path: [ 'b' ],
- *         first: { value: 'Hello!', type: 'string' }
- *     },
- *  {
- *         operator: 'add',
- *         path: [ 'c' ],
- *         second: { value: true, type: 'boolean' }
- *     }
- *  ]
- * ```
+ * // These two objects can be compared with each other.
+ *
+ * console.log(Diff(x, y));
+ *
+ * // the result is then the following
+ *
+ * //
+ * // [
+ * // {
+ * //        operator: 'update',
+ * //        path: [ 'a' ],
+ * //        first: { value: 1, type: 'number' },
+ * //        second: { value: 2, type: 'number' }
+ * //    },
+ * // {
+ * //        operator: 'delete',
+ * //        path: [ 'b' ],
+ * //        first: { value: 'Hello!', type: 'string' }
+ * //    },
+ * // {
+ * //        operator: 'add',
+ * //        path: [ 'c' ],
+ * //        second: { value: true, type: 'boolean' }
+ * //    }
+ * // ]
  *
  * @param {*} first
  * @param {*} second
@@ -221837,7 +222175,7 @@ function getOperator(a, b) {
 
 _is.Monster.assignToNamespace('Monster.Data', Diff);
 
-},{"../types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1131:[function(require,module,exports){
+},{"../types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1136:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -221860,6 +222198,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
 
 var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
 
+var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
+
 var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
 
 var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -221892,11 +222232,17 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  */
 var DELIMITER = '.';
 /**
- * you can call the method via the monster namespace `new Monster.Data.Pathfinder()`.
+ * @private
+ * @type {string}
+ */
+
+var WILDCARD = '*';
+/**
+ * You can call the method via the monster namespace `new Monster.Data.Pathfinder()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Monster.Data.Pathfinder())
  * </script>
  * ```
@@ -221905,7 +222251,7 @@ var DELIMITER = '.';
  *
  * ```
  * <script type="module">
- * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pathfinder.js';
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
  * console.log(new Pathfinder())
  * </script>
  * ```
@@ -221945,6 +222291,54 @@ var DELIMITER = '.';
  * new Pathfinder(obj).setVia('a.b.0.c', true); // ↦ {a:{b:[{c:true}]}}
  * ```
  *
+ * @example
+ *
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
+ *
+ * let value = new Pathfinder({
+ * a: {
+ *     b: {
+ *         f: [
+ *             {
+ *                 g: false,
+ *             }
+ *         ],
+ *     }
+ * }
+ * }).getVia("a.b.f.0.g");
+ *
+ *  console.log(value);
+ *  // ↦ false
+ *
+ * try {
+ *   new Pathfinder({}).getVia("a.b.f.0.g");  
+ * } catch(e) {
+ *   console.log(e.toString());
+ *   // ↦ Error: the journey is not at its end (b.f.0.g)
+ * }
+ *
+ * @example
+ *
+ * import {Pathfinder} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pathfinder.js';
+ *
+ * let p = new Pathfinder({
+ *                a: {
+ *                    x: [
+ *                        {c: 1}, {c: 2}
+ *                    ],
+ *                    y: true
+ *                },
+ *                b: {
+ *                    x: [
+ *                        {c: 1, d: false}, {c: 2}
+ *                    ],
+ *                    y: true
+ *                },
+ *            });
+ * 
+ * let r = p.getVia("*.x.*.c");
+ * console.log(r);
+ * 
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster/Data
@@ -221965,26 +222359,42 @@ var Pathfinder = /*#__PURE__*/function (_Base) {
     (0, _classCallCheck2["default"])(this, Pathfinder);
     _this = _super.call(this);
     _this.object = object;
+    _this.wildCard = WILDCARD;
     return _this;
   }
   /**
+   * set wildcard
    *
-   * @param {string} path
-   * @since 1.4.0
-   * @returns {*}
-   * @throws {TypeError} unsupported type
-   * @throws {Error} the journey is not at its end
-   * @throws {TypeError} value is not a string
-   * @throws {TypeError} value is not an integer
-   * @throws {Error} unsupported action for this data type
+   * @param {string} wildcard
+   * @return {Pathfinder}
+   * @since 1.7.0
    */
 
 
   (0, _createClass2["default"])(Pathfinder, [{
+    key: "setWildCard",
+    value: function setWildCard(wildcard) {
+      (0, _validate.validateString)(wildcard);
+      this.wildCard = wildcard;
+      return this;
+    }
+    /**
+     *
+     * @param {string} path
+     * @since 1.4.0
+     * @returns {*}
+     * @throws {TypeError} unsupported type
+     * @throws {Error} the journey is not at its end
+     * @throws {TypeError} value is not a string
+     * @throws {TypeError} value is not an integer
+     * @throws {Error} unsupported action for this data type
+     */
+
+  }, {
     key: "getVia",
     value: function getVia(path) {
       (0, _validate.validateString)(path);
-      return getValueViaPath(this.object, path);
+      return getValueViaPath.call(this, this.object, path);
     }
     /**
      *
@@ -222002,7 +222412,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) {
     key: "setVia",
     value: function setVia(path, value) {
       (0, _validate.validateString)(path);
-      setValueViaPath(this.object, path, value);
+      setValueViaPath.call(this, this.object, path, value);
       return this;
     }
     /**
@@ -222021,7 +222431,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) {
     key: "deleteVia",
     value: function deleteVia(path) {
       (0, _validate.validateString)(path);
-      deleteValueViaPath(this.object, path);
+      deleteValueViaPath.call(this, this.object, path);
       return this;
     }
     /**
@@ -222040,7 +222450,7 @@ var Pathfinder = /*#__PURE__*/function (_Base) {
       (0, _validate.validateString)(path);
 
       try {
-        getValueViaPath(this.object, path, true);
+        getValueViaPath.call(this, this.object, path, true);
         return true;
       } catch (e) {}
 
@@ -222056,7 +222466,37 @@ _namespace.Monster.assignToNamespace('Monster.Data', Pathfinder);
 
 /**
  *
- * @param {*} object
+ * @param {*} subject
+ * @param {string} path
+ * @param {string} check
+ * @return {Map}
+ * @throws {TypeError} unsupported type
+ * @throws {Error} the journey is not at its end
+ * @throws {Error} unsupported action for this data type
+ * @private
+ */
+function iterate(subject, path, check) {
+  var result = new Map();
+
+  if ((0, _is.isObject)(subject) || (0, _is.isArray)(subject)) {
+    for (var _i = 0, _Object$entries = Object.entries(subject); _i < _Object$entries.length; _i++) {
+      var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
+          key = _Object$entries$_i[0],
+          value = _Object$entries$_i[1];
+
+      result.set(key, getValueViaPath.call(this, value, path, check));
+    }
+  } else {
+    var _key = path.split(DELIMITER).shift();
+
+    result.set(_key, getValueViaPath.call(this, subject, path, check));
+  }
+
+  return result;
+}
+/**
+ *
+ * @param {*} subject
  * @param [string} path
  * @param [boolean} check 
  * @returns {*}
@@ -222065,51 +222505,57 @@ _namespace.Monster.assignToNamespace('Monster.Data', Pathfinder);
  * @throws {Error} unsupported action for this data type
  * @private
  */
-function getValueViaPath(object, path, check) {
+
+
+function getValueViaPath(subject, path, check) {
   if (path === "") {
-    return object;
+    return subject;
   }
 
   var parts = path.split(DELIMITER);
   var current = parts.shift();
 
-  if ((0, _is.isObject)(object) || (0, _is.isArray)(object)) {
+  if (current === this.wildCard) {
+    return iterate.call(this, subject, parts.join(DELIMITER), check);
+  }
+
+  if ((0, _is.isObject)(subject) || (0, _is.isArray)(subject)) {
     var anchor;
 
-    if (object instanceof Map || object instanceof WeakMap) {
-      anchor = object.get(current);
-    } else if (object instanceof Set || object instanceof WeakSet) {
+    if (subject instanceof Map || subject instanceof WeakMap) {
+      anchor = subject.get(current);
+    } else if (subject instanceof Set || subject instanceof WeakSet) {
       var _ref;
 
       current = parseInt(current);
       (0, _validate.validateInteger)(current);
-      anchor = (_ref = (0, _toConsumableArray2["default"])(object)) === null || _ref === void 0 ? void 0 : _ref[current];
-    } else if (object instanceof WeakRef) {
+      anchor = (_ref = (0, _toConsumableArray2["default"])(subject)) === null || _ref === void 0 ? void 0 : _ref[current];
+    } else if (subject instanceof WeakRef) {
       throw Error('unsupported action for this data type');
-    } else if ((0, _is.isArray)(object)) {
+    } else if ((0, _is.isArray)(subject)) {
       current = parseInt(current);
       (0, _validate.validateInteger)(current);
-      anchor = object === null || object === void 0 ? void 0 : object[current];
+      anchor = subject === null || subject === void 0 ? void 0 : subject[current];
     } else {
-      anchor = object === null || object === void 0 ? void 0 : object[current];
+      anchor = subject === null || subject === void 0 ? void 0 : subject[current];
     }
 
     if ((0, _is.isObject)(anchor) || (0, _is.isArray)(anchor)) {
-      return getValueViaPath(anchor, parts.join(DELIMITER), check);
+      return getValueViaPath.call(this, anchor, parts.join(DELIMITER), check);
     }
 
     if (parts.length > 0) {
       throw Error("the journey is not at its end (" + parts.join(DELIMITER) + ")");
     }
 
-    if (check === true && !object.hasOwnProperty(current)) {
+    if (check === true && !subject.hasOwnProperty(current)) {
       throw Error('unknown value');
     }
 
     return anchor;
   }
 
-  throw TypeError("unsupported type");
+  throw TypeError("unsupported type " + (0, _typeof2["default"])(subject));
 }
 /**
  *
@@ -222126,6 +222572,7 @@ function getValueViaPath(object, path, check) {
 
 
 function setValueViaPath(object, path, value) {
+  (0, _validate.validateString)(path);
   var parts = path.split(DELIMITER);
   var last = parts.pop();
   var subpath = parts.join(DELIMITER);
@@ -222134,7 +222581,7 @@ function setValueViaPath(object, path, value) {
 
   while (true) {
     try {
-      getValueViaPath(object, current, true);
+      getValueViaPath.call(this, object, current, true);
       break;
     } catch (e) {}
 
@@ -222156,10 +222603,10 @@ function setValueViaPath(object, path, value) {
       }
     }
 
-    setValueViaPath(object, current, obj);
+    setValueViaPath.call(this, object, current, obj);
   }
 
-  var anchor = getValueViaPath(object, subpath);
+  var anchor = getValueViaPath.call(this, object, subpath);
 
   if (!(0, _is.isObject)(object) && !(0, _is.isArray)(object)) {
     throw TypeError("unsupported type: " + (0, _typeof2["default"])(object));
@@ -222216,7 +222663,7 @@ function deleteValueViaPath(object, path) {
   return;
 }
 
-},{"../namespace.js":1143,"../types/base.js":1144,"../types/is.js":1147,"../types/stack.js":1153,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20}],1132:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"../types/is.js":1155,"../types/stack.js":1161,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1137:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -222235,6 +222682,8 @@ Object.defineProperty(exports, "Monster", {
 });
 exports.Pipe = void 0;
 
+var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
+
 var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
 
 var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -222259,13 +222708,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
 
 var DELIMITER = '|';
 /**
- * the pipe class makes it possible to combine several processing steps.
+ * The pipe class makes it possible to combine several processing steps.
  *
- * you can call the method via the monster namespace `new Monster.Data.Pipe()`.
+ * You can call the method via the monster namespace `new Monster.Data.Pipe()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Monster.Data.Pipe())
  * </script>
  * ```
@@ -222274,29 +222723,31 @@ var DELIMITER = '|';
  *
  * ```
  * <script type="module">
- * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/pipe.js';
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
  * console.log(new Pipe())
  * </script>
  * ```
  *
- * a pipe consists of commands whose input and output are connected with the pipe symbol `|`.
+ * A pipe consists of commands whose input and output are connected with the pipe symbol `|`.
  *
- * with the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).
+ * With the Pipe, processing steps can be combined. Here, the value of an object is accessed via the pathfinder (path command).
  * the word is then converted to uppercase letters and a prefix Hello is added. the two backslash safe the space char.
  *
- * ```
+ * @example
+ * import {Pipe} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/pipe.js';
+ * 
  * let obj = {
- *     a: {
- *         b: {
- *             c: {
- *                 d: "world"
- *             }
- *         }
- *     }
+ *    a: {
+ *        b: {
+ *            c: {
+ *                d: "world"
+ *            }
+ *        }
+ *    }
  * }
- *
- * new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj); // ↦ Hello WORLD
- * ```
+ * 
+ * console.log(new Pipe('path:a.b.c.d | toupper | prefix:Hello\\ ').run(obj));
+ * // ↦ Hello WORLD
  *
  * @since 1.5.0
  * @copyright schukai GmbH
@@ -222325,18 +222776,41 @@ var Pipe = /*#__PURE__*/function (_Base) {
     return _this;
   }
   /**
-   * run a pipe
    *
-   * @param {*} value
-   * @returns {*}
+   * @param {string} name
+   * @param {function} callback
+   * @returns {Transformer}
+   * @throws {TypeError} value is not a string
+   * @throws {TypeError} value is not a function
    */
 
 
   (0, _createClass2["default"])(Pipe, [{
+    key: "setCallback",
+    value: function setCallback(name, callback) {
+      for (var _i = 0, _Object$entries = Object.entries(this.pipe); _i < _Object$entries.length; _i++) {
+        var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
+            t = _Object$entries$_i[1];
+
+        t.setCallback(name, callback);
+      }
+
+      return this; // return this.pipe.reduce((accumulator, transformer, currentIndex, array) => {
+      //     return transformer.setCallback(name,callback);
+      // }, value);
+    }
+    /**
+     * run a pipe
+     *
+     * @param {*} value
+     * @returns {*}
+     */
+
+  }, {
     key: "run",
     value: function run(value) {
-      return this.pipe.reduce(function (accumulator, currentValue, currentIndex, array) {
-        return currentValue.run(accumulator);
+      return this.pipe.reduce(function (accumulator, transformer, currentIndex, array) {
+        return transformer.run(accumulator);
       }, value);
     }
   }]);
@@ -222347,7 +222821,7 @@ exports.Pipe = Pipe;
 
 _namespace.Monster.assignToNamespace('Monster.Data', Pipe);
 
-},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"./transformer.js":1133,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1133:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"./transformer.js":1138,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21}],1138:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -222411,13 +222885,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
+ * The transformer class is a swiss army knife for manipulating values. especially in combination with the pipe, processing chains can be built up.
  *
- * you can call the method via the monster namespace `new Monster.Data.Transformer()`.
+ * You can call the method via the monster namespace `new Monster.Data.Transformer()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Monster.Data.Transformer())
  * </script>
  * ```
@@ -222426,12 +222900,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/data/transformer.js';
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
  * console.log(new Transformer())
  * </script>
  * ```
  *
- * a simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.
+ * A simple example is the conversion of all characters to lowercase. for this purpose the command tolower must be used.
  * 
  * ```
  * let t = new Transformer('tolower').run('ABC'); // ↦ abc
@@ -222458,6 +222932,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *  | substring    | start:length               |                         | Returns a substring                                                                                                                                                                                                                                                                                                                                        |
  *  | suffix       | text                       |                         | Adds a suffix                                                                                                                                                                                                                                                                                                                                              |
  *  | tointeger    |                            |                         | Type conversion to an integer value                                                                                                                                                                                                                                                                                                                        |
+ *  | tojson       |                            |                         | Type conversion to an JSON string (since 1.8.0)                                                                                                                                                                                                                                                                                                            |
  *  | tolower      |                            | strtolower, tolowercase | The input value is converted to lowercase letters                                                                                                                                                                                                                                                                                                          |
  *  | tostring     |                            |                         | Type conversion to a string                                                                                                                                                                                                                                                                                                                                |
  *  | toupper      |                            | strtoupper, touppercase | The input value is converted to uppercase letters                                                                                                                                                                                                                                                                                                          |
@@ -222469,7 +222944,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  * 
  *  (*) for this functionality the extension [jsdom](https://www.npmjs.com/package/jsdom) must be loaded in the nodejs context.
  * 
- *  ```
+ * ```
  *  // polyfill
  *  if (typeof window !== "object") {
  *     const {window} = new JSDOM('', {
@@ -222491,17 +222966,27 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *         'CustomEvent'
  *     ].forEach(key => (global[key] = window[key]));
  * }
- *  ```
+ * ```
  * 
- *  (**) for this command the crypt library is necessary in the nodejs context.
+ * (**) for this command the crypt library is necessary in the nodejs context.
  * 
- *  ```
- *  import * as Crypto from "@peculiar/webcrypto";
- *  global['crypto'] = new Crypto.Crypto();
- *  ```
+ * ```
+ * import * as Crypto from "@peculiar/webcrypto";
+ * global['crypto'] = new Crypto.Crypto();
+ * ```
  * 
+ * @example
+ * 
+ * import {Transformer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/data/transformer.js';
+ * 
+ * const transformer = new Transformer("tolower")
+ * 
+ * console.log(transformer.run("HELLO"))
+ * // ↦ hello
+ * 
+ * console.log(transformer.run("WORLD"))
+ * // ↦ world
  * 
- *
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster/Data
@@ -222690,6 +223175,9 @@ function transform(value) {
       (0, _validate.validateInteger)(n);
       return n;
 
+    case 'tojson':
+      return JSON.stringify(value);
+
     case 'trim':
       (0, _validate.validateString)(value);
       return value.trim();
@@ -222708,7 +223196,7 @@ function transform(value) {
       var callback;
       var callbackName = args.shift();
 
-      if ((0, _is.isObject)(value) && calue.hasOwnProperty(callbackName)) {
+      if ((0, _is.isObject)(value) && value.hasOwnProperty(callbackName)) {
         callback = value[callbackName];
       } else if (this.callbacks.has(callbackName)) {
         callback = this.callbacks.get(callbackName);
@@ -222831,13 +223319,13 @@ function transform(value) {
       return value;
 
     default:
-      throw new Error("unknown command");
+      throw new Error("unknown command " + this.command);
   }
 
   return value;
 }
 
-},{"../namespace.js":1143,"../types/base.js":1144,"../types/id.js":1146,"../types/is.js":1147,"../types/validate.js":1156,"../util/clone.js":1158,"./pathfinder.js":1131,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/setPrototypeOf":17,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20}],1134:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"../types/id.js":1154,"../types/is.js":1155,"../types/validate.js":1165,"../util/clone.js":1167,"./pathfinder.js":1136,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/setPrototypeOf":20,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24}],1139:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -222890,7 +223378,7 @@ var ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Monster.DOM.Assembler())
  * </script>
  * ```
@@ -222899,7 +223387,7 @@ var ATTRIBUTEPREFIX = "data-monster-";
  *
  * ```
  * <script type="module">
- * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/assembler.js';
+ * import {Assembler} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/assembler.js';
  * console.log(new Assembler())
  * </script>
  * ```
@@ -222983,7 +223471,106 @@ exports.Assembler = Assembler;
 
 _base.Monster.assignToNamespace('Monster.DOM', Assembler);
 
-},{"../types/base.js":1144,"../types/global.js":1145,"../types/proxyobserver.js":1150,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1135:[function(require,module,exports){
+},{"../types/base.js":1152,"../types/global.js":1153,"../types/proxyobserver.js":1158,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1140:[function(require,module,exports){
+'use strict';
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _namespace.Monster;
+  }
+});
+exports.ATTRIBUTE_UPDATER_REMOVE = exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = exports.ATTRIBUTE_UPDATER_INSERT = exports.ATTRIBUTE_UPDATER_REPLACE = exports.ATTRIBUTE_UPDATER_ATTRIBUTES = exports.ATTRIBUTE_THEME_NAME = exports.ATTRIBUTE_THEME_PREFIX = exports.DEFAULT_THEME = exports.ATTRIBUTE_OPTIONS = exports.ATTRIBUTE_PREFIX = void 0;
+
+var _namespace = require("../namespace.js");
+
+/**
+ * @author schukai GmbH
+ */
+
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+var ATTRIBUTE_PREFIX = 'data-monster-';
+/**
+ * @memberOf Monster/DOM
+ * @since 1.8.0
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_PREFIX = ATTRIBUTE_PREFIX;
+var ATTRIBUTE_OPTIONS = ATTRIBUTE_PREFIX + 'options';
+/**
+ * default theme
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_OPTIONS = ATTRIBUTE_OPTIONS;
+var DEFAULT_THEME = 'monster';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.DEFAULT_THEME = DEFAULT_THEME;
+var ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_PREFIX + 'theme-';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ */
+
+exports.ATTRIBUTE_THEME_PREFIX = ATTRIBUTE_THEME_PREFIX;
+var ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_PREFIX + 'name';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_THEME_NAME = ATTRIBUTE_THEME_NAME;
+var ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_PREFIX + 'attributes';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_ATTRIBUTES = ATTRIBUTE_UPDATER_ATTRIBUTES;
+var ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_PREFIX + 'replace';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_REPLACE = ATTRIBUTE_UPDATER_REPLACE;
+var ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_PREFIX + 'insert';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_INSERT = ATTRIBUTE_UPDATER_INSERT;
+var ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_PREFIX + 'insert-reference';
+/**
+ * @memberOf Monster/DOM
+ * @type {string}
+ * @since 1.8.0
+ */
+
+exports.ATTRIBUTE_UPDATER_INSERT_REFERENCE = ATTRIBUTE_UPDATER_INSERT_REFERENCE;
+var ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_PREFIX + 'remove';
+exports.ATTRIBUTE_UPDATER_REMOVE = ATTRIBUTE_UPDATER_REMOVE;
+
+},{"../namespace.js":1151}],1141:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -223007,6 +223594,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
 
 var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
 
+var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
+
 var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
 
 var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
@@ -223015,6 +223604,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
 
 var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
 
+var _constants = require("./constants.js");
+
+var _template = require("./template.js");
+
 var _global = require("../types/global.js");
 
 var _validate = require("../types/validate.js");
@@ -223024,11 +223617,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
+ * To define a new HTML element we need the power of CustomElement
+ *
  * you can call the method via the monster namespace `new Monster.DOM.Element()`.
  *
+ * important: after defining a `CustomElement`, the `registerCustomElement` method must be called
+ * with the new class name. only then will the tag defined via the `getTag` method be made known to the DOM.
+ *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new Monster.DOM.CustomElement())
  * </script>
  * ```
@@ -223037,11 +223635,61 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.6.0/dist/modules/dom/customelement.js';
+ * import {CustomElement} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/customelement.js';
  * console.log(new CustomElement())
  * </script>
  * ```
  *
+ * ## Styling
+ *
+ * For optimal display of custom-elements the pseudo-class :defined can be used.
+ *
+ * ```html
+ * <style>
+ *
+ * my-custom-element:not(:defined) {
+ *     display: none;
+ * }
+ *
+ * my-custom-element:defined {
+ *     display: flex;
+ * }
+ *
+ * </style>
+ * ```
+ *
+ *
+ *
+ * @example
+ *
+ * // In the example the HTML structure is taken from the getTemplate method. The user can use his own template by creating a template in the DOM with the ID `monster-my-element`.
+ * // You can also specify a theme (for example `mytheme`), then it will search for the ID `monster-my-element-mytheme` and if not available for the ID `monster-my-element`.
+ *
+ * class MonsterMyElement extends CustomElement {
+ * 
+ *    constructor() {
+ *        super();
+ *    }
+ *    
+ *    getTemplate() {
+ *        return `<div class="form-check">
+ *                           <label class="form-check-label">
+ *                               <input class="form-check-input" type="checkbox" value="">
+ *                               Checkvalue
+ *                           </label>
+ *                         </div>`
+ *    }
+ *
+ *    static getTag() {
+ *        return "monster-my-element"
+ *    }
+ *
+ *}
+ *
+ * // ↦ <monster-my-element></monster-my-element>
+ *
+ * @see https://github.com/WICG/webcomponents
+ * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster/DOM
@@ -223051,45 +223699,266 @@ var CustomElement = /*#__PURE__*/function (_HTMLElement) {
 
   var _super = _createSuper(CustomElement);
 
+  /**
+   * A new object is created. First the `initOptions` method is called. Here the
+   * options can be defined in derived classes. Subsequently, the shadowRoot is initialized.
+   *
+   * @throws {Error} the options attribute does not contain a valid json definition.
+   */
   function CustomElement() {
+    var _this;
+
     (0, _classCallCheck2["default"])(this, CustomElement);
-    return _super.call(this);
+    _this = _super.call(this);
+    _this._options = Object.assign({}, _this.defaults, getOptionsFromAttributes.call((0, _assertThisInitialized2["default"])(_this)));
+
+    _this.init();
+
+    return _this;
   }
   /**
-   * 
-   * @return {string}
-   * @throws {Error} the method getTag must be overwritten by the derived class.
+   * | option         | description                                                                                                                                                                                                                                                                |
+   * |----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+   * | shadowMode     | `open` Elements of the shadow root are accessible from JavaScript outside the root, for example using. `close` Denies access to the node(s) of a closed shadow root from JavaScript outside it                                                                             |
+   * | delegatesFocus | A boolean that, when set to true, specifies behavior that mitigates custom element issues around focusability. When a non-focusable part of the shadow DOM is clicked, the first focusable part is given focus, and the shadow host is given any available :focus styling. |
+   *
+   * Derived classes can override and extend this method as follows.
+   *
+   * ```
+   * get defaults() {
+   *    return Object.assign({}, super.defaults, {
+   *        myValue:true
+   *    });
+   * }
+   * ```
+   *
+   * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+   * @return {{shadowMode: string, delegatesFocus: boolean}}
+   * @since 1.8.0
    */
 
 
-  (0, _createClass2["default"])(CustomElement, null, [{
+  (0, _createClass2["default"])(CustomElement, [{
+    key: "defaults",
+    get: function get() {
+      return {
+        shadowMode: 'open',
+        delegatesFocus: true
+      };
+    }
+    /**
+     *
+     * @param {string} key
+     * @param [*} defaultValue
+     * @return {*}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "getOption",
+    value: function getOption(key, defaultValue) {
+      var _this$_options;
+
+      (0, _validate.validateString)(key);
+      var v = (_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options[key];
+      if (v === undefined) return defaultValue;
+      return v;
+    }
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "init",
+    value: function init() {
+      initShadowRoot.call(this);
+      return this;
+    }
+    /**
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "assemble",
+    value: function assemble() {
+      return this;
+    }
+    /**
+     *
+     *
+     * @return {CustomElement}
+     * @since 1.8.0
+     */
+
+  }, {
+    key: "disassemble",
+    value: function disassemble() {
+      return this;
+    }
+    /**
+     * Called every time the element is inserted into the DOM. Useful for running setup code, such as
+     * fetching resources or rendering. Generally, you should try to delay work until this time.
+     *
+     * @return {void}
+     */
+
+  }, {
+    key: "connectedCallback",
+    value: function connectedCallback() {
+      this.assemble();
+    }
+    /**
+     * Called every time the element is removed from the DOM. Useful for running clean up code.
+     *
+     * @return {void}
+     */
+
+  }, {
+    key: "disconnectedCallback",
+    value: function disconnectedCallback() {
+      this.disassemble();
+    }
+    /**
+     * The custom element has been moved into a new document (e.g. someone called document.adoptNode(el)).
+     *
+     * @return {void}
+     */
+
+  }, {
+    key: "adoptedCallback",
+    value: function adoptedCallback() {}
+    /**
+     * Called when an observed attribute has been added, removed, updated, or replaced. Also called for initial
+     * values when an element is created by the parser, or upgraded. Note: only attributes listed in the observedAttributes property will receive this callback.
+     *
+     * @param {string} attrName
+     * @param {string} oldVal
+     * @param {string} newVal
+     * @return {void}
+     */
+
+  }, {
+    key: "attributeChangedCallback",
+    value: function attributeChangedCallback(attrName, oldVal, newVal) {
+      this.assemble();
+    }
+    /**
+     * This method defines the default template if no template with the id is found in the dom.
+     *
+     * @since 1.8.0
+     * @return {string}
+     * @throws {Error} the method getTemplate must be overwritten by the derived class.
+     */
+
+  }], [{
+    key: "getTemplate",
+    value: function getTemplate() {
+      throw new Error("the method getTemplate must be overwritten by the derived class.");
+    }
+    /**
+     * There is no check on the name by this class. the developer is responsible for assigning an appropriate tag.
+     * if the name is not valid, registerCustomElement() will issue an erro
+     *
+     * @link https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name
+     * @return {string}
+     * @throws {Error} the method getTag must be overwritten by the derived class.
+     */
+
+  }, {
     key: "getTag",
     value: function getTag() {
       throw new Error("the method getTag must be overwritten by the derived class.");
     }
+    /**
+     *
+     * @return {CSSStyleSheet}
+     */
+
+  }, {
+    key: "getCSSStyleSheet",
+    value: function getCSSStyleSheet() {
+      return new CSSStyleSheet();
+    }
   }]);
   return CustomElement;
 }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
 /**
+ * @private
+ * @return {object}
+ * @throws {Error} the options attribute does not contain a valid json definition.
+ */
+
+
+exports.CustomElement = CustomElement;
+
+function getOptionsFromAttributes() {
+  if (this.hasAttribute(_constants.ATTRIBUTE_OPTIONS)) {
+    try {
+      var obj = JSON.parse(this.getAttribute(_constants.ATTRIBUTE_OPTIONS));
+      (0, _validate.validateObject)(obj);
+      return obj;
+    } catch (e) {
+      throw new Error('the options attribute ' + _constants.ATTRIBUTE_OPTIONS + ' does not contain a valid json definition (actual: ' + this.getAttribute(_constants.ATTRIBUTE_OPTIONS) + ').');
+    }
+  }
+
+  return {};
+}
+/**
+ * @private
+ * @return {CustomElement}
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attachShadow
+ * @memberOf CustomElement
+ * @since 1.8.0
+ */
+
+
+function initShadowRoot() {
+  this.attachShadow({
+    mode: this.getOption('shadowMode', 'open'),
+    delegatesFocus: this.getOption('delegatesFocus', true)
+  });
+  var styleSheet = this.constructor.getCSSStyleSheet();
+
+  if (styleSheet instanceof CSSStyleSheet) {
+    this.shadowRoot.adoptedStyleSheets = [styleSheet];
+  }
+
+  try {
+    var template = (0, _template.findDocumentTemplate)(this.constructor.getTag());
+    this.shadowRoot.appendChild(template.createDocumentFragment());
+  } catch (e) {
+    this.shadowRoot.innerHTML = this.constructor.getTemplate();
+  }
+
+  return this;
+}
+/**
+ * This method registers a new element. The string returned by `CustomElement.getTag()` is used as the tag.
+ *
  * @param {CustomElement} element
  * @return {void}
  * @since 1.7.0
  * @copyright schukai GmbH
  * @memberOf Monster/DOM
+ * @throws {DOMException} Failed to execute 'define' on 'CustomElementRegistry': is not a valid custom element name
  */
 
 
-exports.CustomElement = CustomElement;
-
 function registerCustomElement(element) {
   (0, _validate.validateFunction)(element);
+  var tag = element.getTag();
   (0, _global.getGlobalObject)('customElements').define(element.getTag(), element);
   return;
 }
 
 _validate.Monster.assignToNamespace('Monster.DOM', CustomElement, registerCustomElement);
 
-},{"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/wrapNativeSuper":22}],1136:[function(require,module,exports){
+},{"../types/global.js":1153,"../types/validate.js":1165,"./constants.js":1140,"./template.js":1143,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/wrapNativeSuper":26}],1142:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -223159,7 +224028,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Monster.DOM.Handle())
  * </script>
  * ```
@@ -223168,7 +224037,7 @@ var MONSTERDOMHANDLE = Symbol('MonsterHandle');
  *
  * ```
  * <script type="module">
- * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Handle} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(new Handle())
  * </script>
  * ```
@@ -223333,7 +224202,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(Monster.DOM.getHandleFromNode())
  * </script>
  * ```
@@ -223342,7 +224211,7 @@ function createMutationObserver() {
  *
  * ```
  * <script type="module">
- * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/handle.js';
+ * import {getHandleFromNode} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/handle.js';
  * console.log(getHandleFromNode())
  * </script>
  * ```
@@ -223375,7 +224244,7 @@ function getHandleFromNode(node) {
 
 _base.Monster.assignToNamespace('Monster.DOM', getHandleFromNode, Handle);
 
-},{"../types/base.js":1144,"../types/global.js":1145,"../types/id.js":1146,"../types/is.js":1147,"../types/observer.js":1148,"../types/proxyobserver.js":1150,"../types/stack.js":1153,"../types/validate.js":1156,"./assembler.js":1134,"@babel/runtime/helpers/assertThisInitialized":3,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1137:[function(require,module,exports){
+},{"../types/base.js":1152,"../types/global.js":1153,"../types/id.js":1154,"../types/is.js":1155,"../types/observer.js":1156,"../types/proxyobserver.js":1158,"../types/stack.js":1161,"../types/validate.js":1165,"./assembler.js":1139,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1143:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -223386,6 +224255,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
+exports.findDocumentTemplate = findDocumentTemplate;
 Object.defineProperty(exports, "Monster", {
   enumerable: true,
   get: function get() {
@@ -223406,9 +224276,11 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
 
 var _base = require("../types/base.js");
 
+var _validate = require("../types/validate.js");
+
 var _global = require("../types/global.js");
 
-var _validate = require("../types/validate.js");
+var _theme = require("./theme.js");
 
 function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
 
@@ -223419,7 +224291,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Monster.DOM.Template())
  * </script>
  * ```
@@ -223428,7 +224300,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/template.js';
+ * import {Template} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
  * console.log(new Template())
  * </script>
  * ```
@@ -223454,7 +224326,8 @@ var Template = /*#__PURE__*/function (_Base) {
 
     (0, _classCallCheck2["default"])(this, Template);
     _this = _super.call(this);
-    (0, _validate.validateInstance)(template, (0, _global.getGlobalFunction)('HTMLTemplateElement'));
+    var HTMLTemplateElement = (0, _global.getGlobalFunction)('HTMLTemplateElement');
+    (0, _validate.validateInstance)(template, HTMLTemplateElement);
     _this.template = template;
     return _this;
   }
@@ -223483,12 +224356,712 @@ var Template = /*#__PURE__*/function (_Base) {
   }]);
   return Template;
 }(_base.Base);
+/**
+ *
+ *
+ * you can call the method via the monster namespace `Monster.DOM.findDocumentTemplate()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
+ * console.log(Monster.DOM.findDocumentTemplate())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {findTemplate} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/template.js';
+ * console.log(findDocumentTemplate())
+ * </script>
+ * ```
+ *
+ * @param {string} id
+ * @return {Template}
+ * @since 1.7.0
+ * @copyright schukai GmbH
+ * @memberOf Monster/DOM
+ * @throws {Error} template id not found.
+ * @throws {TypeError} value is not a string
+ */
+
 
 exports.Template = Template;
 
-_base.Monster.assignToNamespace('Monster.DOM', Template);
+function findDocumentTemplate(id) {
+  (0, _validate.validateString)(id);
+  var document = (0, _global.getGlobalObject)('document');
+  var HTMLTemplateElement = (0, _global.getGlobalFunction)('HTMLTemplateElement');
+  var theme = (0, _theme.getDocumentTheme)();
+  var themedID = id + '-' + theme.getName();
+  var template = document.getElementById(themedID);
+
+  if (template instanceof HTMLTemplateElement) {
+    return new Template(template);
+  }
+
+  template = document.getElementById(id);
+
+  if (template instanceof HTMLTemplateElement) {
+    return new Template(template);
+  }
+
+  throw new Error("template " + id + " not found.");
+}
+
+_base.Monster.assignToNamespace('Monster.DOM', Template, findDocumentTemplate);
+
+},{"../types/base.js":1152,"../types/global.js":1153,"../types/validate.js":1165,"./theme.js":1144,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1144:[function(require,module,exports){
+'use strict';
+/**
+ * @author schukai GmbH
+ */
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.getDocumentTheme = getDocumentTheme;
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _base.Monster;
+  }
+});
+exports.Theme = void 0;
+
+var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
+
+var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
+
+var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
+
+var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
+
+var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
+
+var _base = require("../types/base.js");
+
+var _validate = require("../types/validate.js");
+
+var _global = require("../types/global.js");
+
+var _constants = require("./constants.js");
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * You can call the method via the monster namespace `new Monster.DOM.Theme()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
+ * console.log(new Monster.DOM.Theme())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {Theme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
+ * console.log(new Theme())
+ * </script>
+ * ```
+ * 
+ * @example
+ *
+ * import {getDocumentTheme} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/theme.js';
+ *
+ * const theme = getDocumentTheme();
+ * console.log(theme.getName());
+ * // ↦ monster
+ *
+ * @since 1.7.0
+ * @copyright schukai GmbH
+ * @memberOf Monster/DOM
+ */
+var Theme = /*#__PURE__*/function (_Base) {
+  (0, _inherits2["default"])(Theme, _Base);
+
+  var _super = _createSuper(Theme);
+
+  /**
+   *
+   * @param name
+   * @throws {TypeError} value is not a string
+   */
+  function Theme(name) {
+    var _this;
+
+    (0, _classCallCheck2["default"])(this, Theme);
+    _this = _super.call(this);
+    (0, _validate.validateString)(name);
+    _this.name = name;
+    return _this;
+  }
+  /**
+   *
+   * @returns {string}
+   */
+
+
+  (0, _createClass2["default"])(Theme, [{
+    key: "getName",
+    value: function getName() {
+      return this.name;
+    }
+  }]);
+  return Theme;
+}(_base.Base);
+/**
+ * The theming used in the document can be defined via the html-tag.
+ * The theming is specified via the attribute `data-monster-theme-name`.
+ *
+ * As name for a theme all characters are valid, which are also allowed for a HTMLElement-ID.
+ *
+ * ```
+ * <html data-monster-theme-name="my-theme">
+ * ```
+ *
+ * the default theme name is `monster`.
+ *
+ * @return {Theme}
+ * @since 1.7.0
+ */
+
+
+exports.Theme = Theme;
+
+function getDocumentTheme() {
+  var document = (0, _global.getGlobalObject)('document');
+  var name = _constants.DEFAULT_THEME;
+  var element = document.querySelector('html');
+
+  if (element instanceof HTMLElement) {
+    var theme = element.getAttribute(_constants.ATTRIBUTE_THEME_NAME);
+
+    if (theme) {
+      name = theme;
+    }
+  }
+
+  return new Theme(name);
+}
+
+_base.Monster.assignToNamespace('Monster.DOM', Theme, getDocumentTheme);
+
+},{"../types/base.js":1152,"../types/global.js":1153,"../types/validate.js":1165,"./constants.js":1140,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1145:[function(require,module,exports){
+'use strict';
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _base.Monster;
+  }
+});
+exports.Updater = void 0;
+
+var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
+
+var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
+
+var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
+
+var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
+
+var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
+
+var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
+
+var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
+
+var _pipe = require("../data/pipe.js");
+
+var _base = require("../types/base.js");
+
+var _is = require("../types/is.js");
+
+var _observer = require("../types/observer.js");
+
+var _proxyobserver = require("../types/proxyobserver.js");
+
+var _validate = require("../types/validate.js");
+
+var _clone = require("../util/clone.js");
+
+var _diff = require("../data/diff.js");
+
+var _constants = require("../dom/constants.js");
+
+var _util = require("./util.js");
+
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * @author schukai GmbH
+ */
+
+/**
+ * you can call the method via the monster namespace `new Monster.DOM.Updater()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+ * console.log(new Monster.DOM.Updater())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {Updater} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/updater.js';
+ * console.log(new Updater())
+ * </script>
+ * ```
+ * 
+ * @example
+ * 
+ * 
+ *
+ * @since 1.8.0
+ * @copyright schukai GmbH
+ * @memberOf Monster/DOM
+ * @throws {Error} the value is not iterable
+ * @throws {Error} pipes are not allowed when cloning a node.
+ * @throws {Error} no template was found with the specified key.
+ */
+var Updater = /*#__PURE__*/function (_Base) {
+  (0, _inherits2["default"])(Updater, _Base);
+
+  var _super = _createSuper(Updater);
+
+  /**
+   * @since 1.8.0
+   * @param {HTMLElement} element
+   * @param {object|ProxyObserver} subject
+   */
+  function Updater(element, subject) {
+    var _this;
+
+    (0, _classCallCheck2["default"])(this, Updater);
+    _this = _super.call(this);
+    /**
+     * @type {HTMLElement}
+     */
+
+    _this.element = (0, _validate.validateInstance)(element, HTMLElement);
+
+    if (!(0, _is.isInstance)(subject, _proxyobserver.ProxyObserver)) {
+      subject = new _proxyobserver.ProxyObserver(subject);
+    }
+
+    _this.last = {};
+    _this.callbacks = new Map();
+    /**
+     * @type {object}
+     */
+
+    _this.subject = subject.attachObserver(new _observer.Observer(function () {
+      var s = _this.subject.getRealSubject();
+
+      var diff = (0, _diff.Diff)(_this.last, s);
+      _this.last = (0, _clone.clone)(s);
+
+      for (var _i = 0, _Object$entries = Object.entries(diff); _i < _Object$entries.length; _i++) {
+        var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
+            change = _Object$entries$_i[1];
+
+        removeElement.call((0, _assertThisInitialized2["default"])(_this), change);
+        insertElement.call((0, _assertThisInitialized2["default"])(_this), change);
+        updateContent.call((0, _assertThisInitialized2["default"])(_this), change);
+        updateAttributes.call((0, _assertThisInitialized2["default"])(_this), change);
+      }
+    }));
+    return _this;
+  }
+  /**
+   * 
+   * @return {Promise}
+   */
+
+
+  (0, _createClass2["default"])(Updater, [{
+    key: "run",
+    value: function run() {
+      this.last = {};
+      return this.subject.notifyObservers();
+    }
+    /**
+     * @since 1.8.0
+     * @return {ProxyObserver}
+     */
+
+  }, {
+    key: "getSubject",
+    value: function getSubject() {
+      return this.subject.getSubject();
+    }
+    /**
+     *
+     * @param {string} name
+     * @param {function} callback
+     * @returns {Transformer}
+     * @throws {TypeError} value is not a string
+     * @throws {TypeError} value is not a function
+     */
+
+  }, {
+    key: "setCallback",
+    value: function setCallback(name, callback) {
+      this.callbacks.set(name, callback);
+      return this;
+    }
+  }]);
+  return Updater;
+}(_base.Base);
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ */
+
+
+exports.Updater = Updater;
+
+function removeElement(change) {
+  var _iterator = _createForOfIteratorHelper(this.element.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_REMOVE + ']').entries()),
+      _step;
+
+  try {
+    for (_iterator.s(); !(_step = _iterator.n()).done;) {
+      var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
+          element = _step$value[1];
+
+      element.parentNode.removeChild(element);
+    }
+  } catch (err) {
+    _iterator.e(err);
+  } finally {
+    _iterator.f();
+  }
+
+  return this;
+}
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ * @throws {Error} the value is not iterable
+ * @throws {Error} pipes are not allowed when cloning a node.
+ * @throws {Error} no template was found with the specified key.
+ */
+
+
+function insertElement(change) {
+  var _this2 = this;
+
+  var self = this;
+  var subject = self.subject.getRealSubject();
+  var document = (0, _util.getDocument)();
+  var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']);
+  if (!(0, _is.isArray)(p)) return this;
+  var mem = new WeakSet();
+
+  while (p.length > 0) {
+    var current = p.join('.');
+
+    var _iterator2 = _createForOfIteratorHelper(this.element.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_INSERT + '*="path:' + current + '"]').entries()),
+        _step2;
+
+    try {
+      var _loop = function _loop() {
+        var _step2$value = (0, _slicedToArray2["default"])(_step2.value, 2),
+            containerElement = _step2$value[1];
+
+        if (mem.has(containerElement)) return "continue";
+        mem.add(containerElement);
+        var attributes = containerElement.getAttribute(_constants.ATTRIBUTE_UPDATER_INSERT);
+        var def = attributes.trim();
+        var i = def.indexOf(' ');
+        var key = def.substr(0, i).trim();
+        var refPrefix = key + '-';
+        var cmd = def.substr(i).trim();
+
+        if (cmd.indexOf('|') > 0) {
+          throw new Error("pipes are not allowed when cloning a node.");
+        }
+
+        var pipe = new _pipe.Pipe(cmd);
+
+        _this2.callbacks.forEach(function (f, n) {
+          pipe.setCallback(n, f);
+        });
+
+        var value = pipe.run(subject);
+        var dataPath = cmd.split(':').pop();
+        var insertPoint = void 0;
+
+        if (containerElement.hasChildNodes()) {
+          insertPoint = containerElement.lastChild;
+        }
+
+        if (!(0, _is.isArray)(value)) {
+          throw new Error('the value is not iterable');
+        }
+
+        var available = new Set();
+
+        for (var _i2 = 0, _Object$entries2 = Object.entries(value); _i2 < _Object$entries2.length; _i2++) {
+          var _Object$entries2$_i = (0, _slicedToArray2["default"])(_Object$entries2[_i2], 2),
+              _i3 = _Object$entries2$_i[0],
+              obj = _Object$entries2$_i[1];
+
+          var ref = refPrefix + _i3;
+          var currentPath = dataPath + "." + _i3;
+          available.add(ref);
+          var refElement = containerElement.querySelector('[' + _constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE + '="' + ref + '"]');
+
+          if (refElement instanceof HTMLElement) {
+            insertPoint = refElement;
+            continue;
+          }
+
+          appendNewDocumentFragment(containerElement, key, ref, currentPath);
+        }
+
+        var nodes = containerElement.querySelectorAll('[' + _constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE + '*="' + refPrefix + '"]');
+
+        for (var _i4 = 0, _Object$entries3 = Object.entries(nodes); _i4 < _Object$entries3.length; _i4++) {
+          var _Object$entries3$_i = (0, _slicedToArray2["default"])(_Object$entries3[_i4], 2),
+              node = _Object$entries3$_i[1];
+
+          if (!available.has(node.getAttribute(_constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE))) {
+            containerElement.removeChild(node);
+          }
+        }
+      };
+
+      for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
+        var _ret = _loop();
+
+        if (_ret === "continue") continue;
+      }
+    } catch (err) {
+      _iterator2.e(err);
+    } finally {
+      _iterator2.f();
+    }
+
+    p.pop();
+  }
+}
+/**
+ *
+ * @private
+ * @since 1.8.0
+ * @param {HTMLElement} container
+ * @param {string} key
+ * @param {string} ref
+ * @param {string} path
+ * @throws {Error} no template was found with the specified key.
+ */
+
+
+function appendNewDocumentFragment(container, key, ref, path) {
+  var template = (0, _util.getDocument)().querySelector("template#" + key);
+
+  if (!(template instanceof HTMLTemplateElement)) {
+    throw new Error("no template was found with the specified key " + key);
+  }
+
+  var nodes = template.content.cloneNode(true);
+
+  for (var _i5 = 0, _Object$entries4 = Object.entries(nodes.childNodes); _i5 < _Object$entries4.length; _i5++) {
+    var _Object$entries4$_i = (0, _slicedToArray2["default"])(_Object$entries4[_i5], 2),
+        node = _Object$entries4$_i[1];
+
+    if (node instanceof HTMLElement) {
+      node.setAttribute(_constants.ATTRIBUTE_UPDATER_INSERT_REFERENCE, ref);
+      var value = node.getAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE);
+      node.setAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE, value.replace("path:" + key, "path:" + path));
+    }
+
+    container.appendChild(node);
+  }
+}
+/**
+ * @private
+ * @since 1.8.0
+ * @param {object} change
+ * @return {Updater}
+ */
+
+
+function updateContent(change) {
+  var self = this;
+  var subject = self.subject.getRealSubject();
+  var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']);
+  runUpdateContent.call(this, this.element, p, subject);
+  return this;
+}
+/**
+ *
+ * @private
+ * @since 1.8.0
+ * @param {HTMLElement} container
+ * @param {array} parts
+ * @param {object} subject
+ * @return {void}
+ */
+
+
+function runUpdateContent(container, parts, subject) {
+  var _this3 = this;
+
+  if (!(0, _is.isArray)(parts)) return;
+  parts = (0, _clone.clone)(parts);
+  var mem = new WeakSet();
+
+  while (parts.length > 0) {
+    var current = parts.join('.');
+    parts.pop();
+
+    var _iterator3 = _createForOfIteratorHelper(container.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_REPLACE + '^="path:' + current + '"]').entries()),
+        _step3;
+
+    try {
+      var _loop2 = function _loop2() {
+        var _step3$value = (0, _slicedToArray2["default"])(_step3.value, 2),
+            element = _step3$value[1];
+
+        if (mem.has(element)) return "continue";
+        mem.add(element);
+        var attributes = element.getAttribute(_constants.ATTRIBUTE_UPDATER_REPLACE);
+        var cmd = attributes.trim();
+        var pipe = new _pipe.Pipe(cmd);
+
+        _this3.callbacks.forEach(function (f, n) {
+          pipe.setCallback(n, f);
+        });
+
+        var value = pipe.run(subject);
+
+        if (value instanceof HTMLElement) {
+          while (element.firstChild) {
+            element.removeChild(element.firstChild);
+          }
+
+          element.addNode(value);
+        } else {
+          element.innerHTML = value;
+        }
+      };
+
+      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
+        var _ret2 = _loop2();
+
+        if (_ret2 === "continue") continue;
+      }
+    } catch (err) {
+      _iterator3.e(err);
+    } finally {
+      _iterator3.f();
+    }
+  }
+}
+/**
+ * @private
+ * @since 1.8.0
+ * @param {string} path
+ * @param {object} change
+ * @return {Updater}
+ */
+
+
+function updateAttributes(change) {
+  var self = this;
+  var subject = self.subject.getRealSubject();
+  var p = (0, _clone.clone)(change === null || change === void 0 ? void 0 : change['path']);
+  runUpdateAttributes(this.element, p, subject);
+  return this;
+}
+/**
+ * @private
+ * @param {HTMLElement} container
+ * @param {array} parts
+ * @param {object} subject
+ * @return {void}
+ */
+
+
+function runUpdateAttributes(container, parts, subject) {
+  if (!(0, _is.isArray)(parts)) return;
+  parts = (0, _clone.clone)(parts);
+  var mem = new WeakSet();
+
+  while (parts.length > 0) {
+    var current = parts.join('.');
+    parts.pop();
+
+    var _iterator4 = _createForOfIteratorHelper(container.querySelectorAll(':scope [' + _constants.ATTRIBUTE_UPDATER_ATTRIBUTES + '*="path:' + current + '"]').entries()),
+        _step4;
 
-},{"../types/base.js":1144,"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1138:[function(require,module,exports){
+    try {
+      for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
+        var _step4$value = (0, _slicedToArray2["default"])(_step4.value, 2),
+            element = _step4$value[1];
+
+        if (mem.has(element)) continue;
+        mem.add(element);
+        var attributes = element.getAttribute(_constants.ATTRIBUTE_UPDATER_ATTRIBUTES);
+
+        for (var _i6 = 0, _Object$entries5 = Object.entries(attributes.split(',')); _i6 < _Object$entries5.length; _i6++) {
+          var _Object$entries5$_i = (0, _slicedToArray2["default"])(_Object$entries5[_i6], 2),
+              def = _Object$entries5$_i[1];
+
+          def = def.trim();
+          var i = def.indexOf(' ');
+          var name = def.substr(0, i).trim();
+          var cmd = def.substr(i).trim();
+          var value = new _pipe.Pipe(cmd).run(subject);
+
+          if (element.getAttribute(name) !== value) {
+            element.setAttribute(name, value);
+          }
+        }
+      }
+    } catch (err) {
+      _iterator4.e(err);
+    } finally {
+      _iterator4.f();
+    }
+  }
+}
+
+_base.Monster.assignToNamespace('Monster.DOM', Updater);
+
+},{"../data/diff.js":1135,"../data/pipe.js":1137,"../dom/constants.js":1140,"../types/base.js":1152,"../types/is.js":1155,"../types/observer.js":1156,"../types/proxyobserver.js":1158,"../types/validate.js":1165,"../util/clone.js":1167,"./util.js":1146,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/slicedToArray":21}],1146:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -223520,7 +225093,7 @@ var _validate = require("../types/validate.js");
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocument())
  * </script>
  * ```
@@ -223529,7 +225102,7 @@ var _validate = require("../types/validate.js");
  *
  * ```
  * <script type="module">
- * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocument} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocument())
  * </script>
  * ```
@@ -223583,7 +225156,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getWindow())
  * </script>
  * ```
@@ -223592,7 +225165,7 @@ function getDocument() {
  *
  * ```
  * <script type="module">
- * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getWindow} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getWindow(null))
  * </script>
  * ```
@@ -223652,7 +225225,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(Monster.DOM.getDocumentFragmentFromString())
  * </script>
  * ```
@@ -223661,7 +225234,7 @@ function getWindow() {
  *
  * ```
  * <script type="module">
- * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/dom/util.js';
+ * import {getDocumentFragmentFromString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/dom/util.js';
  * console.log(getDocumentFragmentFromString('<div></div>'))
  * </script>
  * ```
@@ -223712,7 +225285,7 @@ function getDocumentFragmentFromString(html) {
 
 _global.Monster.assignToNamespace('Monster.DOM', getWindow, getDocument, getDocumentFragmentFromString);
 
-},{"../types/global.js":1145,"../types/validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1139:[function(require,module,exports){
+},{"../types/global.js":1153,"../types/validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1147:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -223760,7 +225333,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Monster.Logging.Handler())
  * </script>
  * ```
@@ -223769,7 +225342,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/handler.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/handler.js';
  * console.log(new Handler())
  * </script>
  * ```
@@ -223958,7 +225531,7 @@ exports.Handler = Handler;
 
 _namespace.Monster.assignToNamespace('Monster.Logging', Handler);
 
-},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"./logentry.js":1140,"./logger.js":1141,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1140:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"./logentry.js":1148,"./logger.js":1149,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1148:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -224002,7 +225575,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new Monster.Logging.LogEntry())
  * </script>
  * ```
@@ -224011,7 +225584,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logentry.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logentry.js';
  * console.log(new LogEntry())
  * </script>
  * ```
@@ -224074,7 +225647,7 @@ exports.LogEntry = LogEntry;
 
 _namespace.Monster.assignToNamespace('Monster.Logging', LogEntry);
 
-},{"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1141:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1149:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -224190,7 +225763,7 @@ var OFF = 0;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Monster.Logging.Logger())
  * </script>
  * ```
@@ -224199,7 +225772,7 @@ var OFF = 0;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/logging/logger.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/logging/logger.js';
  * console.log(new Logger())
  * </script>
  * ```
@@ -224445,7 +226018,7 @@ function triggerLog(loglevel) {
   return logger;
 }
 
-},{"../logging/handler.js":1139,"../logging/logentry.js":1140,"../namespace.js":1143,"../types/base.js":1144,"../types/validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1142:[function(require,module,exports){
+},{"../logging/handler.js":1147,"../logging/logentry.js":1148,"../namespace.js":1151,"../types/base.js":1152,"../types/validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1150:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -224471,7 +226044,7 @@ var _global = require("../types/global.js");
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(Monster.Math.random(1,10)) // ↦ 5
  * </script>
  * ```
@@ -224480,7 +226053,7 @@ var _global = require("../types/global.js");
  *
  * ```
  * <script type="module">
- * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/math/random.js';
+ * import {random} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/math/random.js';
  * console.log(random(1,10)) // ↦ 5
  * </script>
  * ```
@@ -224572,7 +226145,7 @@ function create(min, max) {
 
 _global.Monster.assignToNamespace('Monster.Math', random);
 
-},{"../types/global.js":1145}],1143:[function(require,module,exports){
+},{"../types/global.js":1153}],1151:[function(require,module,exports){
 'use strict';
 /**
  * @namespace Monster
@@ -224664,7 +226237,7 @@ assignToNamespace('Monster', assignToNamespace);
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/namespace.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/namespace.js';
  * function hello() {
  *            console.log('Hello World!');
  *        }
@@ -224754,7 +226327,7 @@ function namespaceFor(parts) {
   return space;
 }
 
-},{"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/interopRequireDefault":11}],1144:[function(require,module,exports){
+},{"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/interopRequireDefault":12}],1152:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -224794,11 +226367,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
 /**
  * This is the base class from which all monster classes are derived.
  *
- * you can call the method via the monster namespace `new Monster.Types.Base()`.
+ * You can call the method via the monster namespace `new Monster.Types.Base()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Monster.Types.Base())
  * console.log(new Monster.Types.Base())
  * </script>
@@ -224808,13 +226381,13 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/base.js';
+ * import {Object} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/base.js';
  * console.log(new Base())
  * console.log(new Base())
  * </script>
  * ```
  *
- * the class was formerly called Object.
+ * The class was formerly called Object.
  *
  * @since 1.5.0
  * @copyright schukai GmbH
@@ -224848,7 +226421,7 @@ exports.Base = Base;
 
 _namespace.Monster.assignToNamespace('Monster.Types', Base);
 
-},{"../namespace.js":1143,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/wrapNativeSuper":22}],1145:[function(require,module,exports){
+},{"../namespace.js":1151,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/wrapNativeSuper":26}],1153:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -224901,9 +226474,9 @@ var globalReference;
   globalReference = globalThis;
 })();
 /**
- * return globalThis
+ * Return globalThis
  *
- * if globalThis is not available, it will be polyfilled
+ * If globalThis is not available, it will be polyfilled
  *
  * @since 1.6.0
  * @memberOf Monster/Types
@@ -224915,13 +226488,13 @@ function getGlobal() {
   return globalReference;
 }
 /**
- * return global object or throw Error
+ * Return global object or throw Error
  *
- * you can call the method via the monster namespace `Monster.Types.getGlobalObject()`.
+ * You can call the method via the monster namespace `Monster.Types.getGlobalObject()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -224930,7 +226503,7 @@ function getGlobal() {
  *
  * ```
  * <script type="module">
- * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalObject('document')) // ↦ { }
  * </script>
  * ```
@@ -224955,13 +226528,13 @@ function getGlobalObject(name) {
   return o;
 }
 /**
- * return global function or throw Error
+ * Return global function or throw Error
  *
- * you can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.
+ * You can call the method via the monster namespace `Monster.Types.getGlobalFunction()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(Monster.Types.getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
@@ -224970,7 +226543,7 @@ function getGlobalObject(name) {
  *
  * ```
  * <script type="module">
- * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/global.js';
+ * import {getGlobalFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/global.js';
  * console.log(getGlobalFunction('parseInt')) // ↦ f parseInt() { }
  * </script>
  * ```
@@ -224997,7 +226570,7 @@ function getGlobalFunction(name) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', getGlobal, getGlobalObject, getGlobalFunction);
 
-},{"../namespace.js":1143,"./validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1146:[function(require,module,exports){
+},{"../namespace.js":1151,"./validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1154:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -225040,17 +226613,17 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  */
 var internalCounter = new Map();
 /**
- * with the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.
+ * With the id class, sequences of ids can be created. for this purpose, an internal counter is incremented for each prefix.
  * thus, the first id with the prefix `myid` will be `myid1` and the second id `myid2`.
  * The ids are the same for every call, for example on a web page.
  *
- * so the ids can also be used for navigation. you just have to take care that the order stays the same.
+ * So the ids can also be used for navigation. you just have to take care that the order stays the same.
  *
- * you can call the method via the monster namespace `new Monster.Types.ID()`.
+ * You can call the method via the monster namespace `new Monster.Types.ID()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new Monster.Types.ID())
  * </script>
  * ```
@@ -225059,12 +226632,12 @@ var internalCounter = new Map();
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/id.js';
  * console.log(new ID())
  * </script>
  * ```
  *
- * as of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
+ * As of version 1.6.0 there is the new RandomID. this ID class is continuous from now on.
  *
  * @since 1.0.0
  * @copyright schukai GmbH
@@ -225118,7 +226691,7 @@ exports.ID = ID;
 
 _base.Monster.assignToNamespace('Monster.Types', ID);
 
-},{"./base.js":1144,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1147:[function(require,module,exports){
+},{"./base.js":1152,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1155:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -225150,13 +226723,13 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
 var _namespace = require("../namespace.js");
 
 /**
- * with this function you can check if a value is iterable
+ * With this function you can check if a value is iterable
  *
- * you can call the method via the monster namespace `Monster.Types.isPrimitive()`.
+ * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isIterable(null)) // ↦ false
  * console.log(Monster.Types.isIterable('hello')) // ↦ true
  * console.log(Monster.Types.isIterable([])) // ↦ true
@@ -225167,7 +226740,7 @@ var _namespace = require("../namespace.js");
  *
  * ```
  * <script type="module">
- * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isIterable(null))  // ↦ false
  * console.log(isIterable('hello'))  // ↦ true
  * console.log(isIterable([]))  // ↦ true
@@ -225186,13 +226759,13 @@ function isIterable(value) {
   return typeof (value === null || value === void 0 ? void 0 : value[Symbol.iterator]) === 'function';
 }
 /**
- * checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
+ * Checks whether the value passed is a primitive (string, number, boolean, NaN, undefined, null or symbol)
  *
- * you can call the method via the monster namespace `Monster.Types.isPrimitive()`.
+ * You can call the method via the monster namespace `Monster.Types.isPrimitive()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isPrimitive('2')) // ↦ false
  * console.log(Monster.Types.isPrimitive([])) // ↦ true
  * </script>
@@ -225202,7 +226775,7 @@ function isIterable(value) {
  *
  * ```
  * <script type="module">
- * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isPrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isPrimitive('2'))  // ↦ true
  * console.log(isPrimitive([]))  // ↦ false
  * </script>
@@ -225232,13 +226805,13 @@ function isPrimitive(value) {
   return false;
 }
 /**
- * checks whether the value passed is a boolean
+ * Checks whether the value passed is a boolean
  *
- * you can call the method via the monster namespace `Monster.Types.isBoolean()`.
+ * You can call the method via the monster namespace `Monster.Types.isBoolean()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isBoolean('2')) // ↦ false
  * console.log(Monster.Types.isBoolean([])) // ↦ false
  * console.log(Monster.Types.isBoolean(true)) // ↦ true
@@ -225249,7 +226822,7 @@ function isPrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isBoolean('2'))  // ↦ false
  * console.log(isBoolean([]))  // ↦ false
  * console.log(isBoolean(2>4))  // ↦ true
@@ -225278,7 +226851,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isString('2')) // ↦ true
  * console.log(Monster.Types.isString([])) // ↦ false
  * </script>
@@ -225288,7 +226861,7 @@ function isBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isString('2'))  // ↦ true
  * console.log(isString([]))  // ↦ false
  * </script>
@@ -225316,7 +226889,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isObject('2')) // ↦ false
  * console.log(Monster.Types.isObject([])) // ↦ false
  * console.log(Monster.Types.isObject({})) // ↦ true
@@ -225327,7 +226900,7 @@ function isString(value) {
  *
  * ```
  * <script type="module">
- * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isObject('2'))  // ↦ false
  * console.log(isObject([]))  // ↦ false
  * </script>
@@ -225358,7 +226931,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInstance('2')) // ↦ false
  * console.log(Monster.Types.isInstance([])) // ↦ false
  * console.log(Monster.Types.isInstance({})) // ↦ true
@@ -225369,7 +226942,7 @@ function isObject(value) {
  *
  * ```
  * <script type="module">
- * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInstance('2'))  // ↦ false
  * console.log(isInstance([]))  // ↦ false
  * </script>
@@ -225397,7 +226970,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isArray('2')) // ↦ false
  * console.log(Monster.Types.isArray([])) // ↦ true
  * </script>
@@ -225407,7 +226980,7 @@ function isInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isArray('2'))  // ↦ false
  * console.log(isArray([]))  // ↦ true
  * </script>
@@ -225435,7 +227008,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isFunction(()=>{})) // ↦ true
  * console.log(Monster.Types.isFunction('2')) // ↦ false
  * console.log(Monster.Types.isFunction([])) // ↦ false
@@ -225446,7 +227019,7 @@ function isArray(value) {
  *
  * ```
  * <script type="module">
- * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isFunction(()=>{})) // ↦ true
  * console.log(isFunction('2'))  // ↦ false
  * console.log(isFunction([]))  // ↦ false
@@ -225478,7 +227051,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(Monster.Types.isInteger(()=>{})) // ↦ true
  * console.log(Monster.Types.isInteger('2')) // ↦ false
  * console.log(Monster.Types.isInteger(2)) // ↦ true
@@ -225489,7 +227062,7 @@ function isFunction(value) {
  *
  * ```
  * <script type="module">
- * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/is.js';
+ * import {isInteger} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * console.log(isInteger(()=>{})) // ↦ true
  * console.log(isInteger('2'))  // ↦ false
  * console.log(isInteger(2))  // ↦ true
@@ -225510,7 +227083,7 @@ function isInteger(value) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', isPrimitive, isBoolean, isString, isObject, isArray, isFunction, isIterable, isInteger);
 
-},{"../namespace.js":1143,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1148:[function(require,module,exports){
+},{"../namespace.js":1151,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1156:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -225554,13 +227127,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * an observer manages a callback function
+ * An observer manages a callback function
  *
- * you can call the method via the monster namespace `new Monster.Types.Observer()`.
+ * You can call the method via the monster namespace `new Monster.Types.Observer()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  * console.log(new Monster.Types.Observer())
  * </script>
  * ```
@@ -225569,27 +227142,27 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observer.js';
- * console.log(Observer())
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
+ * console.log(new Observer())
  * </script>
  * ```
  *
- * the update method is called with the subject object as this pointer. for this reason the callback should not
+ * The update method is called with the subject object as this pointer. For this reason the callback should not
  * be an arrow function, because it gets the this pointer of its own context.
  *
  * ```
  * <script>
- * Observer(()=>{
+ * new Observer(()=>{
  *     // this is not subject
  * })
  *
- * Observer(function() {
+ * new Observer(function() {
  *     // this is subject
  * })
  * </script>
  * ```
  *
- * additional arguments can be passed to the callback. to do this, simply specify them.
+ * Additional arguments can be passed to the callback. To do this, simply specify them.
  *
  * ```
  * <script>
@@ -225599,8 +227172,18 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  * </script>
  * ```
  *
- * the callback function must have as many parameters as arguments are given.
+ * The callback function must have as many parameters as arguments are given.
+ *
+ * @example
+ *
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
  *
+ * const observer = new Observer(function(a, b, c) {
+ *      console.log(this, a, b, c); // ↦ "a", 2, true 
+ * }, "a", 2, true);
+ *
+ * observer.update({value:true}).then(()=>{});
+ * // ↦ {value: true} "a" 2 true
  *
  * @since 1.0.0
  * @copyright schukai GmbH
@@ -225701,22 +227284,26 @@ var Observer = /*#__PURE__*/function (_Base) {
 
         self.queue.add(subject);
         setTimeout(function () {
-          // the queue and the settimeout ensure that an object is not 
-          // informed of the same change more than once.
-          if (self.queue.isEmpty()) {
-            resolve();
-            return;
-          }
+          try {
+            // the queue and the settimeout ensure that an object is not 
+            // informed of the same change more than once.
+            if (self.queue.isEmpty()) {
+              resolve();
+              return;
+            }
 
-          var s = self.queue.poll();
-          var result = self.callback.apply(s, self.arguments);
+            var s = self.queue.poll();
+            var result = self.callback.apply(s, self.arguments);
 
-          if ((0, _is.isObject)(result) && result instanceof Promise) {
-            result.then(resolve)["catch"](reject);
-            return;
-          }
+            if ((0, _is.isObject)(result) && result instanceof Promise) {
+              result.then(resolve)["catch"](reject);
+              return;
+            }
 
-          resolve(result);
+            resolve(result);
+          } catch (e) {
+            reject(e);
+          }
         }, 0);
       });
     }
@@ -225728,7 +227315,7 @@ exports.Observer = Observer;
 
 _namespace.Monster.assignToNamespace('Monster.Types', Observer);
 
-},{"../namespace.js":1143,"./base.js":1144,"./is.js":1147,"./tokenlist.js":1154,"./uniquequeue.js":1155,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1149:[function(require,module,exports){
+},{"../namespace.js":1151,"./base.js":1152,"./is.js":1155,"./tokenlist.js":1162,"./uniquequeue.js":1164,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1157:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -225772,11 +227359,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
 /**
  * With the help of the ObserverList class, observer can be managed.
  *
- * you can call the method via the monster namespace `new Monster.Types.ObserverList()`.
+ * You can call the method via the monster namespace `new Monster.Types.ObserverList()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(new Monster.Types.ObserverList())
  * console.log(new Monster.Types.ObserverList())
  * </script>
@@ -225786,7 +227373,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/observerlist.js';
+ * import {ObserverList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observerlist.js';
  * console.log(ObserverList())
  * console.log(ObserverList())
  * </script>
@@ -225898,7 +227485,7 @@ exports.ObserverList = ObserverList;
 
 _namespace.Monster.assignToNamespace('Monster.Types', ObserverList);
 
-},{"../namespace.js":1143,"./base.js":1144,"./observer.js":1148,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1150:[function(require,module,exports){
+},{"../namespace.js":1151,"./base.js":1152,"./observer.js":1156,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1158:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -225948,13 +227535,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * an observer manages a callback function
+ * An observer manages a callback function
  *
- * you can call the method via the monster namespace `new Monster.Types.Observer()`.
+ * You can call the method via the monster namespace `new Monster.Types.ProxyObserver()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new Monster.Types.ProxyObserver())
  * </script>
  * ```
@@ -225963,7 +227550,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/proxyobserver.js';
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
  * console.log(new ProxyObserver())
  * </script>
  * ```
@@ -225972,28 +227559,33 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * this also applies to nested objects.
  *
- * ```javascript
- * const o = new Observer(function () {
- *    if (isObject(this) && this instanceof ProxyObserver) {
- *        // do something (this ist ProxyObserver)
- *        const subject = this.getSubject();
- *    }
- * )
+ * @example 
+ *
+ * import {ProxyObserver} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/proxyobserver.js';
+ * import {Observer} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/observer.js';
+ * import {isObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/is.js';
  * 
- * let realSubject = {
- *    a: {
- *        b: {
- *            c: true
- *        },
- *        d: 5
- *    }
+ * const o = new Observer(function () { 
+ *   if (isObject(this) && this instanceof ProxyObserver) {
+ *       // do something (this ist ProxyObserver)
+ *       const subject = this.getSubject();
+ *       console.log(subject);
+ *   }
+ * });
  * 
+ * let realSubject = {
+ *   a: {
+ *       b: {
+ *           c: true
+ *       },
+ *       d: 9
+ *   }
+ * }
  * 
  * const p = new ProxyObserver(realSubject);
  * p.attachObserver(o);
  * const s = p.getSubject();
  * s.a.b.c = false;
- * ```
  *
  * @since 1.0.0
  * @copyright schukai GmbH
@@ -226078,14 +227670,13 @@ var ProxyObserver = /*#__PURE__*/function (_Base) {
     /**
      * notify all observer
      *
-     * @returns {ProxyObserver}
+     * @returns {Promise}
      */
 
   }, {
     key: "notifyObservers",
     value: function notifyObservers() {
-      this.observers.notify(this);
-      return this;
+      return this.observers.notify(this);
     }
     /**
      * @param {Observer} observer
@@ -226188,7 +227779,7 @@ function getHandler() {
   return handler;
 }
 
-},{"../namespace.js":1143,"./base.js":1144,"./is.js":1147,"./observer.js":1148,"./observerlist.js":1149,"./validate.js":1156,"@babel/runtime/helpers/assertThisInitialized":3,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20}],1151:[function(require,module,exports){
+},{"../namespace.js":1151,"./base.js":1152,"./is.js":1155,"./observer.js":1156,"./observerlist.js":1157,"./validate.js":1165,"@babel/runtime/helpers/assertThisInitialized":4,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24}],1159:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -226221,11 +227812,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
+ * You can call the method via the monster namespace `new Monster.Types.Queue()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Monster.Types.Queue())
  * </script>
  * ```
@@ -226234,10 +227825,33 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/queue.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
  * console.log(new Queue())
  * </script>
  * ```
+ * 
+ * @example
+ *
+ * import {Queue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/queue.js';
+ *
+ * const queue = new Queue;
+ *
+ * queue.add(2);
+ * queue.add(true);
+ * queue.add("Hello");
+ * queue.add(4.5);
+ *
+ * console.log(queue.poll());
+ * // ↦ 2
+ * console.log(queue.poll());
+ * // ↦ true
+ * console.log(queue.poll());
+ * // ↦ "Hello"
+ * console.log(queue.poll());
+ * // ↦ 4.5
+ * console.log(queue.poll());
+ * // ↦ undefined
+ *
  *
  * @since 1.4.0
  * @copyright schukai GmbH
@@ -226333,7 +227947,7 @@ exports.Queue = Queue;
 
 _base.Monster.assignToNamespace('Monster.Types', Queue);
 
-},{"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1152:[function(require,module,exports){
+},{"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1160:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -226376,11 +227990,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  */
 var internalCounter = 0;
 /**
- * you can call the method via the monster namespace `new Monster.Types.RandomID()`.
+ * You can call the method via the monster namespace `new Monster.Types.RandomID()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new Monster.Types.RandomID())
  * </script>
  * ```
@@ -226389,7 +228003,7 @@ var internalCounter = 0;
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/randomid.js';
+ * import {RandomID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/randomid.js';
  * console.log(new RandomID())
  * </script>
  * ```
@@ -226426,7 +228040,7 @@ exports.RandomID = RandomID;
 
 _id.Monster.assignToNamespace('Monster.Types', RandomID);
 
-},{"../math/random.js":1142,"./global.js":1145,"./id.js":1146,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1153:[function(require,module,exports){
+},{"../math/random.js":1150,"./global.js":1153,"./id.js":1154,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1161:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -226459,11 +228073,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
+ * You can call the method via the monster namespace `new Monster.Types.Queue()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Monster.Types.Stack())
  * </script>
  * ```
@@ -226472,7 +228086,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/stack.js';
+ * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/stack.js';
  * console.log(new Stack())
  * </script>
  * ```
@@ -226574,7 +228188,7 @@ exports.Stack = Stack;
 
 _base.Monster.assignToNamespace('Monster.Types', Stack);
 
-},{"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1154:[function(require,module,exports){
+},{"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1162:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -226626,11 +228240,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * The tokenlist offers various functions to manipulate values. For example, you can add, remove or replace a class in a CSS list.
  *
- * you can call the method via the monster namespace `new Monster.Types.TokenList()`.
+ * You can call the method via the monster namespace `new Monster.Types.TokenList()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new Monster.Types.TokenList("myclass row"))
  * console.log(new Monster.Types.TokenList("myclass row"))
  * </script>
@@ -226640,7 +228254,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/tokenlist.js';
+ * import {TokenList} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/tokenlist.js';
  * console.log(new TokenList("myclass row"))
  * console.log(new TokenList("myclass row"))
  * </script>
@@ -226652,7 +228266,6 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  * console.log(typeof new TokenList("myclass row")[Symbol.iterator]); // "function"
  * ```
  *
- *
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227011,7 +228624,79 @@ function toggleValue(token) {
 
 _namespace.Monster.assignToNamespace('Monster.Types', TokenList);
 
-},{"../namespace.js":1143,"../types/is.js":1147,"../types/validate.js":1156,"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1155:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/is.js":1155,"../types/validate.js":1165,"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1163:[function(require,module,exports){
+'use strict';
+/**
+ * @author schukai GmbH
+ */
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.typeOf = typeOf;
+Object.defineProperty(exports, "Monster", {
+  enumerable: true,
+  get: function get() {
+    return _namespace.Monster;
+  }
+});
+
+var _namespace = require("../namespace.js");
+
+/**
+ * The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.
+ *
+ * You can call the method via the monster namespace `Monster.Types.typeOf()`.
+ *
+ * ```
+ * <script type="module">
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
+ * console.log(Monster.Types.typeOf())
+ * </script>
+ * ```
+ *
+ * Alternatively, you can also integrate this function individually.
+ *
+ * ```
+ * <script type="module">
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
+ * console.log(typeOf())
+ * </script>
+ * ```
+ *
+ * @example
+ *
+ * import {typeOf} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/typeof.js';
+ *
+ * console.log(typeOf(undefined)); // ↦ undefined
+ * console.log(typeOf("")); // ↦ string
+ * console.log(typeOf(5)); // ↦ number
+ * console.log(typeOf({})); // ↦ object
+ * console.log(typeOf([])); // ↦ array
+ * console.log(typeOf(new Map)); // ↦ map
+ * console.log(typeOf(true)); // ↦ boolean
+ *
+ * @param {*} value
+ * @return {string}
+ * @since 1.7.0
+ * @copyright schukai GmbH
+ * @memberOf Monster/Types
+ * @throws {TypeError} value is not a primitive
+ */
+function typeOf(value) {
+  var type = {}.toString.call(value).match(/\s([a-zA-Z]+)/)[1];
+
+  if ('Object' === type) {
+    var results = /^(class|function)\s+(\w+)/.exec(value.constructor.toString());
+    type = results && results.length > 2 ? results[2] : '';
+  }
+
+  return type.toLowerCase();
+}
+
+_namespace.Monster.assignToNamespace('Monster.Types', typeOf);
+
+},{"../namespace.js":1151}],1164:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -227048,11 +228733,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * you can call the method via the monster namespace `new Monster.Types.Queue()`.
+ * You can call the method via the monster namespace `new Monster.Types.Queue()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new Monster.Types.UniqueQueue())
  * </script>
  * ```
@@ -227061,7 +228746,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {ID} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/uniquequeue.js';
+ * import {UniqueQueue} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/uniquequeue.js';
  * console.log(new UniqueQueue())
  * </script>
  * ```
@@ -227146,7 +228831,7 @@ exports.UniqueQueue = UniqueQueue;
 
 _queue.Monster.assignToNamespace('Monster.Types', UniqueQueue);
 
-},{"./queue.js":1151,"./validate.js":1156,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/get":8,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1156:[function(require,module,exports){
+},{"./queue.js":1159,"./validate.js":1165,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/get":9,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1165:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -227176,13 +228861,13 @@ var _namespace = require("../namespace.js");
 var _is = require("./is.js");
 
 /**
- * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
+ * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
+ * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateIterable('2')) // ↦ TypeError
  * console.log(Monster.Types.validateIterable([])) // ↦ undefined
  * </script>
@@ -227192,14 +228877,14 @@ var _is = require("./is.js");
  *
  * ```
  * <script type="module">
- * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateIterable} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateIterable('2'))  // ↦ TypeError
  * console.log(validateIterable([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.2.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227212,15 +228897,17 @@ function validateIterable(value) {
   if (!(0, _is.isIterable)(value)) {
     throw new TypeError('value is not iterable');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
+ * This method checks if the type matches the primitive type. this function is identical to isPrimitive() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
+ * You can call the method via the monster namespace `Monster.Types.validatePrimitive()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validatePrimitive('2')) // ↦ undefined
  * console.log(Monster.Types.validatePrimitive([])) // ↦ TypeError
  * </script>
@@ -227230,14 +228917,14 @@ function validateIterable(value) {
  *
  * ```
  * <script type="module">
- * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validatePrimitive} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validatePrimitive('2'))  // ↦ undefined
  * console.log(validatePrimitive([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227252,15 +228939,17 @@ function validatePrimitive(value) {
   if (!(0, _is.isPrimitive)(value)) {
     throw new TypeError('value is not a primitive');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.
+ * This method checks if the type matches the boolean type. this function is identical to isBoolean() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateBoolean()`.
+ * You can call the method via the monster namespace `Monster.Types.validateBoolean()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateBoolean(true)) // ↦ undefined
  * console.log(Monster.Types.validateBoolean('2')) // ↦ TypeError
  * console.log(Monster.Types.validateBoolean([])) // ↦ TypeError
@@ -227271,7 +228960,7 @@ function validatePrimitive(value) {
  *
  * ```
  * <script type="module">
- * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateBoolean} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateBoolean(false))  // ↦ undefined
  * console.log(validateBoolean('2'))  // ↦ TypeError
  * console.log(validateBoolean([]))  // ↦ TypeError
@@ -227279,7 +228968,7 @@ function validatePrimitive(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227292,15 +228981,17 @@ function validateBoolean(value) {
   if (!(0, _is.isBoolean)(value)) {
     throw new TypeError('value is not a boolean');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.
+ * This method checks if the type matches the string type. this function is identical to isString() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateString()`.
+ * You can call the method via the monster namespace `Monster.Types.validateString()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateString('2')) // ↦ undefined
  * console.log(Monster.Types.validateString([])) // ↦ TypeError
  * </script>
@@ -227310,14 +229001,14 @@ function validateBoolean(value) {
  *
  * ```
  * <script type="module">
- * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateString} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateString('2'))  // ↦ undefined
  * console.log(validateString([]))  // ↦ TypeError
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227329,15 +229020,17 @@ function validateString(value) {
   if (!(0, _is.isString)(value)) {
     throw new TypeError('value is not a string');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.
+ * This method checks if the type matches the object type. this function is identical to isObject() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateObject()`.
+ * You can call the method via the monster namespace `Monster.Types.validateObject()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateObject({})) // ↦ undefined
  * console.log(Monster.Types.validateObject('2')) // ↦ TypeError
  * console.log(Monster.Types.validateObject([])) // ↦ TypeError
@@ -227348,7 +229041,7 @@ function validateString(value) {
  *
  * ```
  * <script type="module">
- * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateObject} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateObject({}))  // ↦ undefined
  * console.log(validateObject('2'))  // ↦ TypeError
  * console.log(validateObject([]))  // ↦ TypeError
@@ -227356,7 +229049,7 @@ function validateString(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227368,15 +229061,17 @@ function validateObject(value) {
   if (!(0, _is.isObject)(value)) {
     throw new TypeError('value is not a object');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the object instance.
+ * This method checks if the type matches the object instance.
  *
- * you can call the method via the monster namespace `Monster.Types.validateInstance()`.
+ * You can call the method via the monster namespace `Monster.Types.validateInstance()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInstance({}, Object)) // ↦ undefined
  * console.log(Monster.Types.validateInstance('2', Object)) // ↦ TypeError
  * console.log(Monster.Types.validateInstance([], Object)) // ↦ TypeError
@@ -227387,7 +229082,7 @@ function validateObject(value) {
  *
  * ```
  * <script type="module">
- * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateInstance} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInstance({}, Object)) // ↦ undefined
  * console.log(validateInstance('2', Object)) // ↦ TypeError
  * console.log(validateInstance([], Object)) // ↦ TypeError
@@ -227395,7 +229090,7 @@ function validateObject(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.5.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227417,15 +229112,17 @@ function validateInstance(value, instance) {
 
     throw new TypeError('value is not an instance of' + n);
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.
+ * This method checks if the type matches the array type. this function is identical to isArray() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateArray()`.
+ * You can call the method via the monster namespace `Monster.Types.validateArray()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateArray('2')) // ↦ TypeError
  * console.log(Monster.Types.validateArray([])) // ↦ undefined
  * </script>
@@ -227435,14 +229132,14 @@ function validateInstance(value, instance) {
  *
  * ```
  * <script type="module">
- * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateArray} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateArray('2'))  // ↦ TypeError
  * console.log(validateArray([]))  // ↦ undefined
  * </script>
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227454,15 +229151,17 @@ function validateArray(value) {
   if (!(0, _is.isArray)(value)) {
     throw new TypeError('value is not an array');
   }
+
+  return value;
 }
 /**
- * this method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.
+ * This method checks if the type matches the function type. this function is identical to isFunction() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateFunction()`.
+ * You can call the method via the monster namespace `Monster.Types.validateFunction()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateFunction(()=>{})) // ↦ undefined
  * console.log(Monster.Types.validateFunction('2')) // ↦ TypeError
  * console.log(Monster.Types.validateFunction([])) // ↦ TypeError
@@ -227473,7 +229172,7 @@ function validateArray(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateFunction(()=>{})) // ↦ undefined
  * console.log(validateFunction('2'))  // ↦ TypeError
  * console.log(validateFunction([]))  // ↦ TypeError
@@ -227481,7 +229180,7 @@ function validateArray(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.0.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227493,15 +229192,17 @@ function validateFunction(value) {
   if (!(0, _is.isFunction)(value)) {
     throw new TypeError('value is not a function');
   }
+
+  return value;
 }
 /**
- * this method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.
+ * This method checks if the type is an integer. this function is identical to isInteger() except that a TypeError is thrown.
  *
- * you can call the method via the monster namespace `Monster.Types.validateInteger()`.
+ * You can call the method via the monster namespace `Monster.Types.validateInteger()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(Monster.Types.validateInteger(true)) // ↦ TypeError
  * console.log(Monster.Types.validateInteger('2')) // ↦ TypeError
  * console.log(Monster.Types.validateInteger(2)) // ↦ undefined
@@ -227512,7 +229213,7 @@ function validateFunction(value) {
  *
  * ```
  * <script type="module">
- * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/validate.js';
+ * import {validateFunction} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/validate.js';
  * console.log(validateInteger(true)) // ↦ TypeError
  * console.log(validateInteger('2'))  // ↦ TypeError
  * console.log(validateInteger(2))  // ↦ undefined
@@ -227520,7 +229221,7 @@ function validateFunction(value) {
  * ```
  *
  * @param {*} value
- * @return {undefined}
+ * @return {*}
  * @since 1.4.0
  * @copyright schukai GmbH
  * @memberOf Monster/Types
@@ -227532,11 +229233,13 @@ function validateInteger(value) {
   if (!(0, _is.isInteger)(value)) {
     throw new TypeError('value is not an integer');
   }
+
+  return value;
 }
 
 _namespace.Monster.assignToNamespace('Monster.Types', validatePrimitive, validateBoolean, validateString, validateObject, validateArray, validateFunction, validateIterable, validateInteger);
 
-},{"../namespace.js":1143,"./is.js":1147}],1157:[function(require,module,exports){
+},{"../namespace.js":1151,"./is.js":1155}],1166:[function(require,module,exports){
 'use strict';
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -227572,13 +229275,13 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the version object contains a sematic version number
+ * The version object contains a sematic version number
  *
- * you can create the object via the monster namespace `new Monster.Types.Version()`.
+ * You can create the object via the monster namespace `new Monster.Types.Version()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Monster.Types.Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Monster.Types.Version('1')) // ↦ 1.0.0
  * </script>
@@ -227588,20 +229291,20 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(new Version('1.2.3')) // ↦ 1.2.3
  * console.log(new Version('1')) // ↦ 1.0.0
  * </script>
  * ```
  *
- * some examples
+ * @example
  *
- * ```
- * new Monster.Types.Version('1.0.0') // 1.0.0
- * new Monster.Types.Version(1)  // 1.0.0
- * new Monster.Types.Version(1, 0, 0) // 1.0.0
- * new Monster.Types.Version('1.2.3', 4, 5) // 1.4.5
- * ```
+ * import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
+ *
+ * new Version('1.0.0') // ↦ 1.0.0
+ * new Version(1)  // ↦ 1.0.0
+ * new Version(1, 0, 0) // ↦ 1.0.0
+ * new Version('1.2.3', 4, 5) // ↦ 1.4.5
  *
  * @since 1.0.0
  * @author schukai GmbH
@@ -227618,9 +229321,9 @@ var Version = /*#__PURE__*/function (_Base) {
    * @param major
    * @param minor
    * @param patch
-   * @throws major is not a number
-   * @throws minor is not a number
-   * @throws patch is not a number
+   * @throws {Error} major is not a number
+   * @throws {Error} minor is not a number
+   * @throws {Error} patch is not a number
    */
   function Version(major, minor, patch) {
     var _this;
@@ -227729,7 +229432,7 @@ var monsterVersion;
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(Monster.getVersion())
  * console.log(Monster.getVersion())
  * </script>
@@ -227739,7 +229442,7 @@ var monsterVersion;
  *
  * ```
  * <script type="module">
- * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+ * import {getVersion} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
  * console.log(getVersion())
  * console.log(getVersion())
  * </script>
@@ -227759,7 +229462,7 @@ function getVersion() {
   /**#@+ dont touch, replaced by make with package.json version */
 
 
-  monsterVersion = new Version('1.7.0');
+  monsterVersion = new Version('1.8.0');
   /**#@-*/
 
   return monsterVersion;
@@ -227767,7 +229470,7 @@ function getVersion() {
 
 _namespace.Monster.assignToNamespace('Monster', getVersion);
 
-},{"../namespace.js":1143,"./base.js":1144,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16}],1158:[function(require,module,exports){
+},{"../namespace.js":1151,"./base.js":1152,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19}],1167:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -227795,19 +229498,19 @@ var _is = require("../types/is.js");
 var _global = require("../types/global.js");
 
 /**
- * with this function, objects can be cloned.
- * the entire object tree is run through.
+ * With this function, objects can be cloned.
+ * The entire object tree is run through.
  *
  * Proxy, Element, HTMLDocument and DocumentFragment instances are not cloned.
  * Global objects such as windows are also not cloned,
  *
  * If an object has a method `getClone()`, this method is used to create the clone.
  *
- * you can call the method via the monster namespace `Monster.Util.clone()`.
+ * You can call the method via the monster namespace `Monster.Util.clone()`.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(Monster.Util.clone({}))
  * </script>
  * ```
@@ -227816,12 +229519,11 @@ var _global = require("../types/global.js");
  *
  * ```
  * <script type="module">
- * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/util/clone.js';
+ * import {clone} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/clone.js';
  * console.log(clone({}))
  * </script>
  * ```
  *
- *
  * @param {*} obj object to be cloned
  * @returns {*}
  *
@@ -227933,7 +229635,7 @@ function cloneObject(obj) {
 
 _namespace.Monster.assignToNamespace('Monster.Util', clone);
 
-},{"../namespace.js":1143,"../types/global.js":1145,"../types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20}],1159:[function(require,module,exports){
+},{"../namespace.js":1151,"../types/global.js":1153,"../types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24}],1168:[function(require,module,exports){
 'use strict';
 /**
  * @author schukai GmbH
@@ -227973,12 +229675,11 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
 function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
 
 /**
- * the comparator allows a comparison function to be abstracted.
+ * The comparator allows a comparison function to be abstracted.
  *
  * ```
  * <script type="module">
- * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new Monster.Util.Comparator())
+ * import {Monster} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
  * console.log(new Monster.Util.Comparator())
  * </script>
  * ```
@@ -227987,13 +229688,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *
  * ```
  * <script type="module">
- * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/id.js';
- * console.log(new Util())
- * console.log(new Util())
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
+ * console.log(new Comparator())
  * </script>
  * ```
  *
- * the following are some examples of the application of the class.
+ * The following are some examples of the application of the class.
  *
  * ```
  * new Comparator().lessThanOrEqual(2, 5) // ↦ true
@@ -228002,7 +229702,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  * new Comparator().equal(4, 5) // ↦ false
  * ```
  *
- * you can also pass your own comparison function, and thus define the comparison function.
+ * You can also pass your own comparison function, and thus define the comparison function.
  *
  * ```
  * new Comparator(function (a, b) {
@@ -228010,6 +229710,19 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
  *         return a.v < b.v ? -1 : 1;
  *      }).equal({v: 2}, {v: 2});  // ↦ true
  * ```
+ * 
+ * @example
+ *
+ * import {Comparator} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/util/comparator.js';
+ *
+ * console.log(new Comparator().lessThanOrEqual(2, 5))
+ * // ↦ true
+ * console.log(new Comparator().greaterThan(4, 2))
+ * // ↦ true
+ * console.log(new Comparator().equal(4, 4))
+ * // ↦ true
+ * console.log(new Comparator().equal(4, 5))
+ * // ↦ false
  *
  * @since 1.3.0
  * @memberOf Monster/Util
@@ -228149,7 +229862,7 @@ exports.Comparator = Comparator;
 
 _base.Monster.assignToNamespace('Monster.Util', Comparator);
 
-},{"../types/base.js":1144,"../types/is.js":1147,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20}],1160:[function(require,module,exports){
+},{"../types/base.js":1152,"../types/is.js":1155,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24}],1169:[function(require,module,exports){
 "use strict";
 
 var _valid = require("../../../source/constraints/valid.js");
@@ -228176,7 +229889,7 @@ describe('AndOperator', function () {
   });
 });
 
-},{"../../../source/constraints/andoperator.js":1124,"../../../source/constraints/invalid.js":1125,"../../../source/constraints/valid.js":1129}],1161:[function(require,module,exports){
+},{"../../../source/constraints/andoperator.js":1128,"../../../source/constraints/invalid.js":1129,"../../../source/constraints/valid.js":1133}],1170:[function(require,module,exports){
 "use strict";
 
 var _invalid = require("../../../source/constraints/invalid.js");
@@ -228195,7 +229908,7 @@ describe('Invalid', function () {
   });
 });
 
-},{"../../../source/constraints/invalid.js":1125,"chai":128}],1162:[function(require,module,exports){
+},{"../../../source/constraints/invalid.js":1129,"chai":132}],1171:[function(require,module,exports){
 "use strict";
 
 var _isarray = require("../../../source/constraints/isarray.js");
@@ -228216,7 +229929,7 @@ describe('IsArray', function () {
   });
 });
 
-},{"../../../source/constraints/isarray.js":1126,"chai":128}],1163:[function(require,module,exports){
+},{"../../../source/constraints/isarray.js":1130,"chai":132}],1172:[function(require,module,exports){
 "use strict";
 
 var _isobject = require("../../../source/constraints/isobject.js");
@@ -228237,7 +229950,7 @@ describe('IsObject', function () {
   });
 });
 
-},{"../../../source/constraints/isobject.js":1127,"chai":128}],1164:[function(require,module,exports){
+},{"../../../source/constraints/isobject.js":1131,"chai":132}],1173:[function(require,module,exports){
 "use strict";
 
 var _valid = require("../../../source/constraints/valid.js");
@@ -228264,7 +229977,7 @@ describe('OrOperator', function () {
   });
 });
 
-},{"../../../source/constraints/invalid.js":1125,"../../../source/constraints/oroperator.js":1128,"../../../source/constraints/valid.js":1129}],1165:[function(require,module,exports){
+},{"../../../source/constraints/invalid.js":1129,"../../../source/constraints/oroperator.js":1132,"../../../source/constraints/valid.js":1133}],1174:[function(require,module,exports){
 "use strict";
 
 var _valid = require("../../../source/constraints/valid.js");
@@ -228284,7 +229997,97 @@ describe('Valid', function () {
   });
 });
 
-},{"../../../source/constraints/valid.js":1129,"chai":128}],1166:[function(require,module,exports){
+},{"../../../source/constraints/valid.js":1133,"chai":132}],1175:[function(require,module,exports){
+"use strict";
+
+var _buildmap = require("../../../source/data/buildmap.js");
+
+var _chai = require("chai");
+
+describe('buildMap', function () {
+  function mapToObj(map) {
+    var obj = {};
+    map.forEach(function (v, k) {
+      if (v instanceof Map) {
+        obj[k] = mapToObj(v);
+      } else {
+        obj[k] = v;
+      }
+    });
+    return obj;
+  }
+
+  describe('examplecode', function () {
+    it('definition should return Map Instance', function () {
+      var obj = {
+        "data": [{
+          "id": 10,
+          "name": "Cassandra",
+          "address": {
+            "street": "493-4105 Vulputate Street",
+            "city": "Saumur",
+            "zip": "52628"
+          }
+        }, {
+          "id": 20,
+          "name": "Holly",
+          "address": {
+            "street": "1762 Eget Rd.",
+            "city": "Schwalbach",
+            "zip": "952340"
+          }
+        }, {
+          "id": 30,
+          "name": "Guy",
+          "address": {
+            "street": "957-388 Sollicitudin Avenue",
+            "city": "Panchià",
+            "zip": "420729"
+          }
+        }]
+      };
+      var map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', '${id}');
+      map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id');
+      (0, _chai.expect)(map).to.be.instanceOf(Map);
+      map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})');
+      (0, _chai.expect)(map).to.be.instanceOf(Map);
+      map = (0, _buildmap.buildMap)(obj, 'data.*', '${name} (${address.zip} ${address.city})', 'id', function (value, key) {
+        return value['id'] >= 20 ? true : false;
+      });
+      (0, _chai.expect)(map).to.be.instanceOf(Map);
+    });
+  });
+  describe('buildmap()', function () {
+    var obj1 = {
+      dataset: {
+        "10082": {
+          name: "Test 1",
+          address: "Here 1"
+        },
+        "10084": {
+          name: "Test 2",
+          address: "Here 2"
+        }
+      }
+    };
+    it('should return Map Instance', function () {
+      (0, _chai.expect)((0, _buildmap.buildMap)({}, '')).to.be.instanceOf(Map);
+    });
+    [[obj1, 'dataset.*', 'address', '{"10082":"Here 1","10084":"Here 2"}'], [obj1, 'x', undefined, '{}'], [obj1, 'dataset.*', 'name', '{"10082":"Test 1","10084":"Test 2"}']].forEach(function (data) {
+      var a = data.shift();
+      var b = data.shift();
+      var c = data.shift();
+      var d = data.shift();
+      it('buildMap(' + JSON.stringify(a) + ',' + JSON.stringify(b) + ',' + JSON.stringify(c) + ') should return ' + JSON.stringify(d) + ' ', function () {
+        var t = (0, _buildmap.buildMap)(a, b, c);
+        var m = JSON.stringify(mapToObj(t));
+        (0, _chai.expect)(m).to.be.equal(d);
+      });
+    });
+  });
+});
+
+},{"../../../source/data/buildmap.js":1134,"chai":132}],1176:[function(require,module,exports){
 "use strict";
 
 var _diff = require("../../../source/data/diff.js");
@@ -228365,7 +230168,7 @@ describe('Diff', function () {
   });
 });
 
-},{"../../../source/data/diff.js":1130,"../../../source/types/queue.js":1151,"chai":128}],1167:[function(require,module,exports){
+},{"../../../source/data/diff.js":1135,"../../../source/types/queue.js":1159,"chai":132}],1177:[function(require,module,exports){
 "use strict";
 
 var _pathfinder = require("../../../source/data/pathfinder.js");
@@ -228455,6 +230258,116 @@ describe('Pathfinder', function () {
     });
   });
   describe('.getVia()', function () {
+    describe('.getVia()', function () {
+      beforeEach(function () {
+        object = {
+          a: {
+            b: {
+              c: [4, "test1", false, undefined, parseInt("a")],
+              d: undefined,
+              e: false,
+              f: [{
+                g: false,
+                h: 3,
+                i: ["test2"]
+              }],
+              j: {},
+              k: new Map().set('m', {
+                n: 3
+              }),
+              l: new Set().add({
+                n: 4
+              }),
+              o: [{
+                p: {
+                  q: 1,
+                  r: true
+                }
+              }, {
+                p: {
+                  q: 2,
+                  r: true
+                }
+              }, {
+                p: {
+                  q: 3,
+                  r: true
+                }
+              }, {
+                p: {
+                  q: 4,
+                  r: true
+                }
+              }, {
+                p: {
+                  q: 5,
+                  r: true
+                }
+              }],
+              s: {
+                t: {
+                  a: 1
+                },
+                u: {
+                  a: 2
+                },
+                v: {
+                  a: 3
+                },
+                x: {
+                  a: 4
+                }
+              }
+            }
+          }
+        };
+        pathfinder = new _pathfinder.Pathfinder(object);
+      });
+      [['a.b.s.*.a', '[["t",1],["u",2],["v",3],["x",4]]'], ['a.b.s.*', '[["t",{"a":1}],["u",{"a":2}],["v",{"a":3}],["x",{"a":4}]]'], ['a.b.o.*.p.q', '[["0",1],["1",2],["2",3],["3",4],["4",5]]'], ['a.b.o.*.p.r', '[["0",true],["1",true],["2",true],["3",true],["4",true]]'], ['a.b.o.*.p', '[["0",{"q":1,"r":true}],["1",{"q":2,"r":true}],["2",{"q":3,"r":true}],["3",{"q":4,"r":true}],["4",{"q":5,"r":true}]]']].forEach(function (data) {
+        var a = data.shift();
+        var b = data.shift();
+        it('.getVia(' + a + ') should result ' + b, function () {
+          var r = pathfinder.getVia(a);
+          (0, _chai.expect)(JSON.stringify(Array.from(r))).is.equal(b);
+        });
+      });
+    });
+    it('.getVia() should result ', function () {
+      var p = new _pathfinder.Pathfinder({
+        a: {
+          x: [{
+            c: 1
+          }, {
+            c: 2
+          }],
+          y: true
+        },
+        b: {
+          x: [{
+            c: 1,
+            d: false
+          }, {
+            c: 2
+          }],
+          y: true
+        }
+      });
+      var r = p.getVia("*.x.*.c");
+
+      function mapToObj(map) {
+        var obj = {};
+        map.forEach(function (v, k) {
+          if (v instanceof Map) {
+            obj[k] = mapToObj(v);
+          } else {
+            obj[k] = v;
+          }
+        });
+        return obj;
+      }
+
+      (0, _chai.expect)(JSON.stringify(mapToObj(r))).is.equal('{"a":{"0":1,"1":2},"b":{"0":1,"1":2}}');
+    });
     it('.getVia(a.b.l.0.n) with map should return 4 ', function () {
       (0, _chai.expect)(pathfinder.getVia('a.b.l.0.n')).is.equal(4);
     });
@@ -228476,7 +230389,7 @@ describe('Pathfinder', function () {
   });
 });
 
-},{"../../../source/data/pathfinder.js":1131,"chai":128}],1168:[function(require,module,exports){
+},{"../../../source/data/pathfinder.js":1136,"chai":132}],1178:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -228537,7 +230450,7 @@ describe('Pipe', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/data/pipe.js":1132,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1169:[function(require,module,exports){
+},{"../../../source/data/pipe.js":1137,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1179:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -228578,7 +230491,9 @@ if ((typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(wind
 
 describe('Transformer', function () {
   describe('Transformer.run()', function () {
-    [['prefix:Hello\\ ', 'test', "Hello test"], ['prefix:a\\\\: ', 'test', "a\\test"], ['prefix:a\\ ', 'test', "a test"], ['static:abc:a:b:x', "test", "abc:a:b:x"], ['tolowercase', "A:b:Cse4", "a:b:cse4"], ['toupper', "A:b:Cse4", "A:B:CSE4"], ['tostring', 5, "5"], ['tostring', [1, 2, 3, {}], "1,2,3,[object Object]"], ['tointeger', "5", 5], ['trim', " 5 ", "5"], ['trim', " a", "a"], ['trim', " ", ""], ['rawurlencode', "üöä", "%C3%BC%C3%B6%C3%A4"], ['call:testcallback:4:5:6', "test", "test456"], ['plain', 't<br>est', "test"], ['if:a:b', true, "a"], ['if:a:b', 'on', "a"], ['if:a:b', 'true', "a"], ['if:a:b', 'false', "b"], ['if:a:b', 9, "a"], ['if:a:b', '', "b"], ['if:a:b', undefined, "b"], ['if:a:b', false, "b"], ['ucfirst', 'car', "Car"], ['ucfirst', 'cAr', "CAr"], ['ucwords', 'cAr runs', "CAr Runs"], ['tointeger', '6', 6], ['length', 'test', 4], ['base64', 'test', "dGVzdA=="], ['prefix:a', 'test', "atest"], ['suffix:a', 'test', "testa"], ['index:a', {
+    [['prefix:Hello\\ ', 'test', "Hello test"], ['tojson', {
+      a: 4
+    }, "{\"a\":4}"], ['prefix:a\\\\: ', 'test', "a\\test"], ['prefix:a\\ ', 'test', "a test"], ['static:abc:a:b:x', "test", "abc:a:b:x"], ['tolowercase', "A:b:Cse4", "a:b:cse4"], ['toupper', "A:b:Cse4", "A:B:CSE4"], ['tostring', 5, "5"], ['tostring', [1, 2, 3, {}], "1,2,3,[object Object]"], ['tointeger', "5", 5], ['trim', " 5 ", "5"], ['trim', " a", "a"], ['trim', " ", ""], ['rawurlencode', "üöä", "%C3%BC%C3%B6%C3%A4"], ['call:testcallback:4:5:6', "test", "test456"], ['plain', 't<br>est', "test"], ['if:a:b', true, "a"], ['if:a:b', 'on', "a"], ['if:a:b', 'true', "a"], ['if:a:b', 'false', "b"], ['if:a:b', 9, "a"], ['if:a:b', '', "b"], ['if:a:b', undefined, "b"], ['if:a:b', false, "b"], ['ucfirst', 'car', "Car"], ['ucfirst', 'cAr', "CAr"], ['ucwords', 'cAr runs', "CAr Runs"], ['tointeger', '6', 6], ['length', 'test', 4], ['base64', 'test', "dGVzdA=="], ['prefix:a', 'test', "atest"], ['suffix:a', 'test', "testa"], ['index:a', {
       a: 4
     }, 4], ['index:2', [2, 4, 7], 7], ['index:x:test', [2, 4, 7], 'test'], ['path:a.b.c', {
       a: {
@@ -228645,7 +230560,7 @@ describe('Transformer', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/data/transformer.js":1133,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128,"jsdom":333}],1170:[function(require,module,exports){
+},{"../../../source/data/transformer.js":1138,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132,"jsdom":337}],1180:[function(require,module,exports){
 'use strict';
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -228711,7 +230626,7 @@ describe('Assembler', function () {
   });
 });
 
-},{"../../../source/dom/assembler.js":1134,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1171:[function(require,module,exports){
+},{"../../../source/dom/assembler.js":1139,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1181:[function(require,module,exports){
 'use strict'; //
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -228740,8 +230655,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
 
 function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2["default"])(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
 
-//import 'jsdom-global/register.js'
-//import {CustomElement, registerCustomElement} from "../../../source/dom/customelement.js";
 var CustomElement, registerCustomElement, TestComponent;
 describe('DOM', function () {
   before(function (done) {
@@ -228767,6 +230680,11 @@ describe('DOM', function () {
             value: function getTag() {
               return "monster-testclass";
             }
+          }, {
+            key: "getTemplate",
+            value: function getTemplate() {
+              return '';
+            }
           }]);
           return TestComponent;
         }(CustomElement);
@@ -228784,7 +230702,7 @@ describe('DOM', function () {
   });
 });
 
-},{"../../../source/dom/customelement.js":1135,"../../util/jsdom.js":1196,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"@babel/runtime/helpers/typeof":20,"chai":128}],1172:[function(require,module,exports){
+},{"../../../source/dom/customelement.js":1141,"../../util/jsdom.js":1210,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"@babel/runtime/helpers/typeof":24,"chai":132}],1182:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -228867,7 +230785,7 @@ describe('Handle', function () {
   });
 });
 
-},{"../../../source/dom/handle.js":1136,"../../../source/dom/util.js":1138,"../../../source/types/global.js":1145,"../../../source/types/proxyobserver.js":1150,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1173:[function(require,module,exports){
+},{"../../../source/dom/handle.js":1142,"../../../source/dom/util.js":1146,"../../../source/types/global.js":1153,"../../../source/types/proxyobserver.js":1158,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1183:[function(require,module,exports){
 'use strict';
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -228924,7 +230842,202 @@ describe('Template', function () {
   });
 });
 
-},{"../../../source/dom/template.js":1137,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/regenerator":24,"chai":128}],1174:[function(require,module,exports){
+},{"../../../source/dom/template.js":1143,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1184:[function(require,module,exports){
+'use strict';
+
+var _util = require("../../../source/dom/util.js");
+
+var _jsdom = require("../../util/jsdom.js");
+
+var _chai = require("chai");
+
+var _theme = require("../../../source/dom/theme.js");
+
+describe('Theme', function () {
+  before(function (done) {
+    (0, _jsdom.initJSDOM)().then(function () {
+      done();
+    });
+  });
+  describe('new Theme()', function () {
+    it('should return Theme object', function () {
+      (0, _chai.expect)(new _theme.Theme('my-theme')).is.a.instanceOf(_theme.Theme);
+    });
+    it('should return Theme-Name', function () {
+      (0, _chai.expect)(new _theme.Theme('my-theme').getName()).is.equal('my-theme');
+    });
+    it('should throw Error because empty argument', function () {
+      (0, _chai.expect)(function () {
+        return new _theme.Theme();
+      }).to["throw"](TypeError);
+    });
+    it('should throw Error because no string argument', function () {
+      (0, _chai.expect)(function () {
+        return new _theme.Theme(2);
+      }).to["throw"](TypeError);
+    });
+  });
+  describe('getDocumentTheme()', function () {
+    it('should return Theme object', function () {
+      (0, _chai.expect)((0, _theme.getDocumentTheme)()).is.a.instanceOf(_theme.Theme);
+    });
+    it('should return Default Theme name', function () {
+      (0, _chai.expect)((0, _theme.getDocumentTheme)().getName()).is.equal('monster');
+    });
+  });
+  describe('getDocumentTheme()', function () {
+    beforeEach(function () {
+      document.querySelector('html').setAttribute('data-monster-theme-name', 'testtheme');
+    });
+    afterEach(function () {
+      document.querySelector('html').removeAttribute('data-monster-theme-name');
+    });
+    it('should return testtheme Theme name', function () {
+      (0, _chai.expect)((0, _theme.getDocumentTheme)().getName()).is.equal('testtheme');
+    });
+  });
+});
+
+},{"../../../source/dom/theme.js":1144,"../../../source/dom/util.js":1146,"../../util/jsdom.js":1210,"chai":132}],1185:[function(require,module,exports){
+'use strict';
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
+
+var _updater = require("../../../source/dom/updater.js");
+
+var _chai = _interopRequireDefault(require("chai"));
+
+var _jsdom = require("../../util/jsdom.js");
+
+var _chaiDom = require("../../util/chai-dom.js");
+
+var expect = _chai["default"].expect;
+
+_chai["default"].use(_chaiDom.chaiDom);
+
+var html1 = "\n    <template id=\"current\">\n        <li data-monster-replace=\"path:current | tojson\"></li>\n    </template>\n    <div id=\"test1\">\n        <ul data-monster-insert=\"current path:a.b\">\n        </ul>\n    </div>\n";
+var html2 = "\n    <div id=\"test1\">\n        <div data-monster-replace=\"path:text | tolower\"> </div>\n        <div data-monster-replace=\"path:text | call:myformatter\"> </div>\n    </div>\n";
+describe('DOM', function () {
+  before(function (done) {
+    (0, _jsdom.initJSDOM)().then(function () {
+      done();
+    });
+  });
+  beforeEach(function () {
+    var mocks = document.getElementById('mocks');
+    mocks.innerHTML = html1;
+  });
+  afterEach(function () {
+    var mocks = document.getElementById('mocks');
+    mocks.innerHTML = "";
+  });
+  describe('Updater()', function () {
+    describe('Example code', function () {});
+  });
+  describe('Updater()', function () {
+    describe('test Errors', function () {
+      it('should throw value is not an instance of HTMLElement Error', function () {
+        expect(function () {
+          return new _updater.Updater();
+        }).to["throw"](TypeError);
+      });
+      it('should throw value is not an instance of HTMLElement Error', function () {
+        var element = document.getElementById('test1');
+        expect(function () {
+          return new _updater.Updater(element);
+        }).to["throw"](TypeError);
+      });
+      it('should throw Error: the value is not iterable', function (done) {
+        var element = document.getElementById('test1');
+        var u = new _updater.Updater(element, {
+          a: {
+            x: []
+          }
+        });
+        u.run().then(function () {
+          done(new Error("should never called!"));
+        })["catch"](function (e) {
+          expect(e).is.instanceOf(Error);
+          expect(e + "").to.be.equal('Error: the value is not iterable');
+          done();
+        });
+      });
+    });
+  });
+  describe('Updater()', function () {
+    describe('new Updater', function () {
+      it('should return document object', function () {
+        var element = document.getElementById('test1');
+        var d = new _updater.Updater(element, {});
+        expect((0, _typeof2["default"])(d)).is.equal('object');
+      });
+    });
+  });
+  describe('Updater()', function () {
+    describe('Repeat', function () {
+      it('should build 6 li elements', function (done) {
+        var element = document.getElementById('test1');
+        var d = new _updater.Updater(element, {
+          a: {
+            b: [{
+              i: '0'
+            }, {
+              i: '1'
+            }, {
+              i: '2'
+            }, {
+              i: '3'
+            }, {
+              i: '4'
+            }, {
+              i: '5'
+            }]
+          }
+        });
+        d.run().then(function () {
+          expect((0, _typeof2["default"])(d)).is.equal('object');
+
+          for (var i = 0; i < 6; i++) {
+            expect(element).contain.html('<li data-monster-replace="path:a.b.' + i + ' | tojson" data-monster-insert-reference="current-' + i + '">{"i":"' + i + '"}</li>');
+          }
+
+          done();
+        })["catch"](function (e) {
+          done(new Error(e));
+        });
+      });
+    });
+  });
+  describe('Updater()', function () {
+    beforeEach(function () {
+      var mocks = document.getElementById('mocks');
+      mocks.innerHTML = html2;
+    });
+    describe('Replace', function () {
+      it('should add lower hello and HELLOyes!', function (done) {
+        var element = document.getElementById('test1');
+        var d = new _updater.Updater(element, {
+          text: "HALLO"
+        });
+        d.setCallback('myformatter', function (a) {
+          return a + 'yes!';
+        });
+        d.run().then(function () {
+          expect((0, _typeof2["default"])(d)).is.equal('object');
+          expect(element).contain.html('<div data-monster-replace="path:text | tolower">hallo</div>');
+          expect(element).contain.html('<div data-monster-replace="path:text | call:myformatter">HALLOyes!</div>');
+          done();
+        })["catch"](function (e) {
+          done(new Error(e));
+        });
+      });
+    });
+  });
+});
+
+},{"../../../source/dom/updater.js":1145,"../../util/chai-dom.js":1209,"../../util/jsdom.js":1210,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1186:[function(require,module,exports){
 'use strict';
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -228985,7 +231098,7 @@ describe('DOM', function () {
   });
 });
 
-},{"../../../source/dom/util.js":1138,"../../util/jsdom.js":1196,"@babel/runtime/helpers/asyncToGenerator":4,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@babel/runtime/regenerator":24,"chai":128}],1175:[function(require,module,exports){
+},{"../../../source/dom/util.js":1146,"../../util/jsdom.js":1210,"@babel/runtime/helpers/asyncToGenerator":5,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@babel/runtime/regenerator":28,"chai":132}],1187:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -229156,7 +231269,7 @@ describe('Logging', function () {
   });
 });
 
-},{"../../../source/logging/handler.js":1139,"../../../source/logging/logentry.js":1140,"../../../source/logging/logger.js":1141,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/get":8,"@babel/runtime/helpers/getPrototypeOf":9,"@babel/runtime/helpers/inherits":10,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/possibleConstructorReturn":16,"chai":128}],1176:[function(require,module,exports){
+},{"../../../source/logging/handler.js":1147,"../../../source/logging/logentry.js":1148,"../../../source/logging/logger.js":1149,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/get":9,"@babel/runtime/helpers/getPrototypeOf":10,"@babel/runtime/helpers/inherits":11,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/possibleConstructorReturn":19,"chai":132}],1188:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229187,7 +231300,7 @@ describe('Log', function () {
   });
 });
 
-},{"../../../source/logging/logentry.js":1140,"chai":128}],1177:[function(require,module,exports){
+},{"../../../source/logging/logentry.js":1148,"chai":132}],1189:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229250,7 +231363,7 @@ describe('Logging', function () {
   });
 });
 
-},{"../../../source/logging/logger.js":1141,"chai":128}],1178:[function(require,module,exports){
+},{"../../../source/logging/logger.js":1149,"chai":132}],1190:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -229302,7 +231415,7 @@ describe('Math', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/math/random.js":1142,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1179:[function(require,module,exports){
+},{"../../../source/math/random.js":1150,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1191:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229314,7 +231427,7 @@ describe('Monster', function () {
     var monsterVersion;
     /**#@+ dont touch, replaced by make with package.json version */
 
-    monsterVersion = new _version.Version('1.7.0');
+    monsterVersion = new _version.Version('1.8.0');
     /**#@-*/
 
     var m = _version.Monster.getVersion();
@@ -229325,7 +231438,7 @@ describe('Monster', function () {
   });
 });
 
-},{"../../source/types/version.js":1157,"chai":128}],1180:[function(require,module,exports){
+},{"../../source/types/version.js":1166,"chai":132}],1192:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229343,7 +231456,7 @@ describe('Base', function () {
   });
 });
 
-},{"../../../source/types/base.js":1144,"chai":128}],1181:[function(require,module,exports){
+},{"../../../source/types/base.js":1152,"chai":132}],1193:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -229375,7 +231488,7 @@ describe('Global', function () {
   });
 });
 
-},{"../../../source/types/global.js":1145,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1182:[function(require,module,exports){
+},{"../../../source/types/global.js":1153,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1194:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -229411,7 +231524,7 @@ describe('ID', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/types/id.js":1146,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1183:[function(require,module,exports){
+},{"../../../source/types/id.js":1154,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1195:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -229523,7 +231636,7 @@ describe('Is', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/types/id.js":1146,"../../../source/types/is.js":1147,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1184:[function(require,module,exports){
+},{"../../../source/types/id.js":1154,"../../../source/types/is.js":1155,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1196:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229615,7 +231728,7 @@ describe('Observer', function () {
   });
 });
 
-},{"../../../source/types/observer.js":1148,"chai":128}],1185:[function(require,module,exports){
+},{"../../../source/types/observer.js":1156,"chai":132}],1197:[function(require,module,exports){
 "use strict";
 
 var _observerlist = require("../../../source/types/observerlist.js");
@@ -229692,7 +231805,7 @@ describe('ObserverList', function () {
   });
 });
 
-},{"../../../source/types/observer.js":1148,"../../../source/types/observerlist.js":1149,"chai":128}],1186:[function(require,module,exports){
+},{"../../../source/types/observer.js":1156,"../../../source/types/observerlist.js":1157,"chai":132}],1198:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229776,9 +231889,17 @@ describe('ProxyObserver', function () {
       });
     });
   });
+  describe('notify observer ', function () {
+    it('should return promise', function () {
+      var proxy = new _proxyobserver.ProxyObserver({});
+      var observer = new _observer.Observer(function () {});
+      proxy.attachObserver(observer);
+      (0, _chai.expect)(proxy.notifyObservers()).is.instanceOf(Promise);
+    });
+  });
 });
 
-},{"../../../source/types/is.js":1147,"../../../source/types/observer.js":1148,"../../../source/types/proxyobserver.js":1150,"chai":128}],1187:[function(require,module,exports){
+},{"../../../source/types/is.js":1155,"../../../source/types/observer.js":1156,"../../../source/types/proxyobserver.js":1158,"chai":132}],1199:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229819,7 +231940,7 @@ describe('Queue', function () {
   });
 });
 
-},{"../../../source/types/queue.js":1151,"chai":128}],1188:[function(require,module,exports){
+},{"../../../source/types/queue.js":1159,"chai":132}],1200:[function(require,module,exports){
 (function (global){(function (){
 "use strict";
 
@@ -229850,7 +231971,7 @@ describe('RandomID', function () {
 });
 
 }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../../../source/types/randomid.js":1152,"@babel/runtime/helpers/typeof":20,"@peculiar/webcrypto":42,"chai":128}],1189:[function(require,module,exports){
+},{"../../../source/types/randomid.js":1160,"@babel/runtime/helpers/typeof":24,"@peculiar/webcrypto":46,"chai":132}],1201:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -229891,7 +232012,7 @@ describe('Stack', function () {
   });
 });
 
-},{"../../../source/types/stack.js":1153,"chai":128}],1190:[function(require,module,exports){
+},{"../../../source/types/stack.js":1161,"chai":132}],1202:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -230088,7 +232209,42 @@ describe('TokenList', function () {
   });
 });
 
-},{"../../../source/types/tokenlist.js":1154,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/toConsumableArray":19,"@babel/runtime/helpers/typeof":20,"chai":128}],1191:[function(require,module,exports){
+},{"../../../source/types/tokenlist.js":1162,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/toConsumableArray":23,"@babel/runtime/helpers/typeof":24,"chai":132}],1203:[function(require,module,exports){
+"use strict";
+
+var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
+
+var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
+
+var _stack = require("../../../source/types/stack.js");
+
+var _typeof = require("../../../source/types/typeof.js");
+
+var _chai = require("chai");
+
+describe('typeOf', function () {
+  describe('.typeOf()', function () {
+    [[true, 'boolean'], [null, 'null'], [undefined, 'undefined'], [Promise.resolve(), 'promise'], [new WeakMap(), 'weakmap'], [new Map(), 'map'], [NaN, 'number'], [/*#__PURE__*/_regenerator["default"].mark(function _callee() {
+      return _regenerator["default"].wrap(function _callee$(_context) {
+        while (1) {
+          switch (_context.prev = _context.next) {
+            case 0:
+            case "end":
+              return _context.stop();
+          }
+        }
+      }, _callee);
+    }), 'generatorfunction'], [5, 'number'], [function () {}, 'function'], [/a/, 'regexp'], [new Date(), 'date'], [{}, 'object'], [[], 'array'], ['', 'string'], [new Error(), 'error'], [new _stack.Stack(), 'stack']].forEach(function (data) {
+      var a = data.shift();
+      var b = data.shift();
+      it('should return ' + b + ' when the value ' + (0, _typeof.typeOf)(a), function () {
+        (0, _chai.expect)((0, _typeof.typeOf)(a)).to.be.equal(b);
+      });
+    });
+  });
+});
+
+},{"../../../source/types/stack.js":1161,"../../../source/types/typeof.js":1163,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/regenerator":28,"chai":132}],1204:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -230174,7 +232330,7 @@ describe('UniqueQueue', function () {
   });
 });
 
-},{"../../../source/types/uniquequeue.js":1155,"chai":128}],1192:[function(require,module,exports){
+},{"../../../source/types/uniquequeue.js":1164,"chai":132}],1205:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -230203,7 +232359,7 @@ describe('validate', function () {
         });
       } else {
         it('.validatePrimitive(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validatePrimitive)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validatePrimitive)(a)).to.be.equal(a);
         });
       }
     });
@@ -230221,7 +232377,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateInteger(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateInteger)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateInteger)(a)).to.be.equal(a);
         });
       }
     });
@@ -230240,7 +232396,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateIterable(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateIterable)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateIterable)(a)).to.be.equal(a);
         });
       }
     });
@@ -230258,7 +232414,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateBoolean(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateBoolean)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateBoolean)(a)).to.be.equal(a);
         });
       }
     });
@@ -230277,7 +232433,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateString(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateString)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateString)(a)).to.be.equal(a);
         });
       }
     });
@@ -230296,7 +232452,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateObject(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateObject)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateObject)(a)).to.be.equal(a);
         });
       }
     });
@@ -230318,7 +232474,7 @@ describe('validate', function () {
       var a = data.shift();
       var b = data.shift();
       it('.validateInstance(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ', function () {
-        (0, _chai.expect)((0, _validate.validateInstance)(a, b)).to.be.undefined;
+        (0, _chai.expect)((0, _validate.validateInstance)(a, b)).to.be.equal(a);
       });
     });
   });
@@ -230336,7 +232492,7 @@ describe('validate', function () {
         });
       } else {
         it('.validateArray(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateArray)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateArray)(a)).to.be.equal(a);
         });
       }
     });
@@ -230355,14 +232511,14 @@ describe('validate', function () {
         });
       } else {
         it('.validateFunction(' + (0, _typeof2["default"])(a) + ') should not throw TypeException ' + b, function () {
-          (0, _chai.expect)((0, _validate.validateFunction)(a)).to.be.undefined;
+          (0, _chai.expect)((0, _validate.validateFunction)(a)).to.be.equal(a);
         });
       }
     });
   });
 });
 
-},{"../../../source/types/base.js":1144,"../../../source/types/id.js":1146,"../../../source/types/validate.js":1156,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1193:[function(require,module,exports){
+},{"../../../source/types/base.js":1152,"../../../source/types/id.js":1154,"../../../source/types/validate.js":1165,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1206:[function(require,module,exports){
 "use strict";
 
 var _version = require("../../../source/types/version.js");
@@ -230393,7 +232549,7 @@ describe('Version', function () {
   });
 });
 
-},{"../../../source/types/version.js":1157,"chai":128}],1194:[function(require,module,exports){
+},{"../../../source/types/version.js":1166,"chai":132}],1207:[function(require,module,exports){
 "use strict";
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -230505,7 +232661,7 @@ describe('Clone', function () {
   });
 });
 
-},{"../../../source/util/clone.js":1158,"@babel/runtime/helpers/classCallCheck":5,"@babel/runtime/helpers/createClass":7,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"chai":128}],1195:[function(require,module,exports){
+},{"../../../source/util/clone.js":1167,"@babel/runtime/helpers/classCallCheck":6,"@babel/runtime/helpers/createClass":8,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"chai":132}],1208:[function(require,module,exports){
 "use strict";
 
 var _chai = require("chai");
@@ -230622,7 +232778,255 @@ describe('Comparator', function () {
   });
 });
 
-},{"../../../source/util/comparator.js":1159,"chai":128}],1196:[function(require,module,exports){
+},{"../../../source/util/comparator.js":1168,"chai":132}],1209:[function(require,module,exports){
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.chaiDom = chaiDom;
+
+/********
+
+ Convert chai-dom 1.8.1 to es module, without any other modification.
+ From https://github.com/nathanboktae/chai-dom/blob/86c3423/chai-dom.js
+ See https://github.com/nathanboktae/chai-dom/issues/38
+
+ Usage:
+ import { chaiDom } from '<path-to>/chai-dom';
+ chai.use(chaiDom);
+
+ Copyright (c) 2015 Nathan Black and other contributors
+
+ This work is licensed under the terms of the MIT license. For a copy, see <https://opensource.org/licenses/MIT>.
+
+ **********/
+function chaiDom(chai, utils) {
+  var flag = utils.flag,
+      elToString = function elToString(el) {
+    var desc;
+
+    if (isNodeList(el)) {
+      if (el.length === 0) return 'empty NodeList';
+      desc = Array.prototype.slice.call(el, 0, 5).map(elToString).join(', ');
+      return el.length > 5 ? desc + '... (+' + (el.length - 5) + ' more)' : desc;
+    }
+
+    if (!isHTMLElement(el)) {
+      return String(el);
+    }
+
+    desc = el.tagName.toLowerCase();
+
+    if (el.id) {
+      desc += '#' + el.id;
+    }
+
+    if (el.className) {
+      desc += '.' + String(el.className).replace(/\s+/g, '.');
+    }
+
+    Array.prototype.forEach.call(el.attributes, function (attr) {
+      if (attr.name !== 'class' && attr.name !== 'id') {
+        desc += '[' + attr.name + (attr.value ? '="' + attr.value + '"]' : ']');
+      }
+    });
+    return desc;
+  },
+      attrAssert = function attrAssert(name, val) {
+    var el = flag(this, 'object'),
+        actual = el.getAttribute(name);
+
+    if (!flag(this, 'negate') || undefined === val) {
+      this.assert(!!el.attributes[name], 'expected ' + elToString(el) + ' to have an attribute #{exp}', 'expected ' + elToString(el) + ' not to have an attribute #{exp}', name);
+    }
+
+    if (undefined !== val) {
+      this.assert(val === actual, 'expected ' + elToString(el) + ' to have an attribute ' + utils.inspect(name) + ' with the value #{exp}, but the value was #{act}', 'expected ' + elToString(el) + ' not to have an attribute ' + utils.inspect(name) + ' with the value #{act}', val, actual);
+    }
+
+    flag(this, 'object', actual);
+  },
+      isHTMLElement = function isHTMLElement(el) {
+    return el.nodeType === 1; // window.Node.ELEMENT_NODE
+  },
+      isNodeList = function isNodeList(obj) {
+    return Object.prototype.toString.call(obj) === '[object NodeList]';
+  };
+
+  utils.elToString = elToString;
+  chai.Assertion.addMethod('attr', attrAssert);
+  chai.Assertion.addMethod('attribute', attrAssert);
+  chai.Assertion.addMethod('class', function (className) {
+    var el = flag(this, 'object');
+    this.assert(el.classList.contains(className), 'expected ' + elToString(el) + ' to have class #{exp}', 'expected ' + elToString(el) + ' not to have class #{exp}', className);
+  });
+  chai.Assertion.addMethod('id', function (id) {
+    var el = flag(this, 'object');
+    this.assert(el.id == id, 'expected ' + elToString(el) + ' to have id #{exp}', 'expected ' + elToString(el) + ' not to have id #{exp}', id);
+  });
+  chai.Assertion.addMethod('html', function (html) {
+    var el = flag(this, 'object'),
+        actual = flag(this, 'object').innerHTML;
+
+    if (flag(this, 'contains')) {
+      this.assert(actual.indexOf(html) >= 0, 'expected #{act} to contain HTML #{exp}', 'expected #{act} not to contain HTML #{exp}', html, actual);
+    } else {
+      this.assert(actual === html, 'expected ' + elToString(el) + ' to have HTML #{exp}, but the HTML was #{act}', 'expected ' + elToString(el) + ' not to have HTML #{exp}', html, actual);
+    }
+  });
+  chai.Assertion.addChainableMethod('trimmed', null, function () {
+    flag(this, 'trim-text', true);
+  });
+  chai.Assertion.addMethod('text', function (text) {
+    var obj = flag(this, 'object'),
+        contains = flag(this, 'contains'),
+        trim = flag(this, 'trim-text'),
+        actual,
+        result;
+
+    if (isNodeList(obj)) {
+      actual = Array.prototype.map.call(obj, function (el) {
+        return trim ? el.textContent.trim() : el.textContent;
+      });
+
+      if (Array.isArray(text)) {
+        result = contains ? text[flag(this, 'negate') ? 'some' : 'every'](function (t) {
+          return Array.prototype.some.call(obj, function (el) {
+            return (trim ? el.textContent.trim() : el.textContent) === t;
+          });
+        }) : utils.eql(actual, text);
+        actual = actual.join();
+        text = text.join();
+      } else {
+        actual = actual.join('');
+        result = contains ? actual.indexOf(text) >= 0 : actual === text;
+      }
+    } else {
+      actual = trim ? obj.textContent.trim() : obj.textContent;
+      result = contains ? actual.indexOf(text) >= 0 : actual === text;
+    }
+
+    var objDesc = elToString(obj),
+        textMsg = trim ? 'trimmed text' : 'text';
+
+    if (contains) {
+      this.assert(result, 'expected ' + objDesc + ' to contain #{exp}, but the ' + textMsg + ' was #{act}', 'expected ' + objDesc + ' not to contain #{exp}, but the ' + textMsg + ' was #{act}', text, actual);
+    } else {
+      this.assert(result, 'expected ' + objDesc + ' to have ' + textMsg + ' #{exp}, but the ' + textMsg + ' was #{act}', 'expected ' + objDesc + ' not to have ' + textMsg + ' #{exp}', text, actual);
+    }
+  });
+  chai.Assertion.addMethod('value', function (value) {
+    var el = flag(this, 'object'),
+        actual = flag(this, 'object').value;
+    this.assert(flag(this, 'object').value === value, 'expected ' + elToString(el) + ' to have value #{exp}, but the value was #{act}', 'expected ' + elToString(el) + ' not to have value #{exp}', value, actual);
+  });
+  chai.Assertion.overwriteProperty('exist', function (_super) {
+    return function () {
+      var obj = flag(this, 'object');
+
+      if (isNodeList(obj)) {
+        this.assert(obj.length > 0, 'expected an empty NodeList to have nodes', 'expected ' + elToString(obj) + ' to not exist');
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  });
+  chai.Assertion.overwriteProperty('empty', function (_super) {
+    return function () {
+      var obj = flag(this, 'object');
+
+      if (isHTMLElement(obj)) {
+        this.assert(obj.children.length === 0, 'expected ' + elToString(obj) + ' to be empty', 'expected ' + elToString(obj) + ' to not be empty');
+      } else if (isNodeList(obj)) {
+        this.assert(obj.length === 0, 'expected ' + elToString(obj) + ' to be empty', 'expected ' + elToString(obj) + ' to not be empty');
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  });
+  chai.Assertion.overwriteChainableMethod('length', function (_super) {
+    return function (length) {
+      var obj = flag(this, 'object');
+
+      if (isNodeList(obj) || isHTMLElement(obj)) {
+        var actualLength = obj.children ? obj.children.length : obj.length;
+        this.assert(actualLength === length, 'expected ' + elToString(obj) + ' to have #{exp} children but it had #{act} children', 'expected ' + elToString(obj) + ' to not have #{exp} children', length, actualLength);
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  }, function (_super) {
+    return function () {
+      _super.call(this);
+    };
+  });
+  chai.Assertion.overwriteMethod('match', function (_super) {
+    return function (selector) {
+      var obj = flag(this, 'object');
+
+      if (isHTMLElement(obj)) {
+        this.assert(obj.matches(selector), 'expected ' + elToString(obj) + ' to match #{exp}', 'expected ' + elToString(obj) + ' to not match #{exp}', selector);
+      } else if (isNodeList(obj)) {
+        this.assert(!!obj.length && Array.prototype.every.call(obj, function (el) {
+          return el.matches(selector);
+        }), 'expected ' + elToString(obj) + ' to match #{exp}', 'expected ' + elToString(obj) + ' to not match #{exp}', selector);
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  });
+  chai.Assertion.overwriteChainableMethod('contain', function (_super) {
+    return function (subitem) {
+      var obj = flag(this, 'object');
+
+      if (isHTMLElement(obj)) {
+        if (typeof subitem === 'string') {
+          this.assert(!!obj.querySelector(subitem), 'expected ' + elToString(obj) + ' to contain #{exp}', 'expected ' + elToString(obj) + ' to not contain #{exp}', subitem);
+        } else {
+          this.assert(obj.contains(subitem), 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem), 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem));
+        }
+      } else {
+        _super.apply(this, arguments);
+      }
+    };
+  }, function (_super) {
+    return function () {
+      _super.call(this);
+    };
+  });
+  chai.Assertion.addMethod('descendant', function (subitem) {
+    var obj = flag(this, 'object'),
+        actual = subitem;
+
+    if (typeof subitem === 'string') {
+      actual = obj.querySelector(subitem);
+      this.assert(!!actual, 'expected ' + elToString(obj) + ' to have descendant #{exp}', 'expected ' + elToString(obj) + ' to not have descendant #{exp}', subitem);
+    } else {
+      this.assert(obj.contains(subitem), 'expected ' + elToString(obj) + ' to contain ' + elToString(subitem), 'expected ' + elToString(obj) + ' to not contain ' + elToString(subitem));
+    }
+
+    flag(this, 'object', actual);
+  });
+  chai.Assertion.addMethod('descendants', function (selector) {
+    var obj = flag(this, 'object'),
+        actual = obj.querySelectorAll(selector);
+    this.assert(!!actual.length, 'expected ' + elToString(obj) + ' to have descendants #{exp}', 'expected ' + elToString(obj) + ' to not have descendants #{exp}', selector);
+    flag(this, 'object', actual);
+  });
+  chai.Assertion.addProperty('displayed', function () {
+    var el = flag(this, 'object'),
+        actual = document.body.contains(el) ? window.getComputedStyle(el).display : el.style.display;
+    this.assert(actual !== 'none', 'expected ' + elToString(el) + ' to be displayed, but it was not', 'expected ' + elToString(el) + ' to not be displayed, but it was as ' + actual, actual);
+  });
+  chai.Assertion.addProperty('visible', function () {
+    var el = flag(this, 'object'),
+        actual = document.body.contains(el) ? window.getComputedStyle(el).visibility : el.style.visibility;
+    this.assert(actual !== 'hidden' && actual !== 'collapse', 'expected ' + elToString(el) + ' to be visible, but it was ' + (actual === 'hidden' ? 'hidden' : 'collapsed'), 'expected ' + elToString(el) + ' to not be visible, but it was', actual);
+  });
+}
+
+},{}],1210:[function(require,module,exports){
 'use strict';
 
 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -230644,7 +233048,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
 
 /**
  * this helper function creates the dom stack in the node environment
- * 
+ *
  * @return {Promise<unknown>|Promise<void>}
  */
 function initJSDOM() {
@@ -230655,10 +233059,8 @@ function initJSDOM() {
   }).then(function (_ref) {
     var JSDOM = _ref.JSDOM;
 
-    var _JSDOM = new JSDOM('', {
-      url: 'http://example.com/',
+    var _JSDOM = new JSDOM("<html>\n<head>\n</head>\n<body>\n<div id=\"mocks\"></div>\n</body>", {
       pretendToBeVisual: true,
-      referrer: "https://example.com/",
       contentType: "text/html",
       includeNodeLocations: true,
       storageQuota: 10000000
@@ -230668,7 +233070,7 @@ function initJSDOM() {
     g['window'] = window;
     return new Promise(function (resolve) {
       return window.addEventListener("load", function () {
-        ['self', 'document', 'Document', 'Node', 'Element', 'HTMLElement', 'customElements', 'DocumentFragment', 'DOMParser', 'MutationObserver', 'HTMLTemplateElement', 'XMLSerializer', 'NodeFilter', 'InputEvent', 'CustomEvent'].forEach(function (key) {
+        ['self', 'document', 'Document', 'Node', 'Element', 'HTMLElement', 'customElements', 'DocumentFragment', 'DOMParser', 'CSSStyleSheet', 'MutationObserver', 'HTMLTemplateElement', 'XMLSerializer', 'NodeFilter', 'InputEvent', 'CustomEvent'].forEach(function (key) {
           return g[key] = window[key];
         });
         resolve();
@@ -230677,7 +233079,7 @@ function initJSDOM() {
   });
 }
 
-},{"../../source/types/global.js":1145,"@babel/runtime/helpers/interopRequireDefault":11,"@babel/runtime/helpers/typeof":20,"jsdom":333}],1197:[function(require,module,exports){
+},{"../../source/types/global.js":1153,"@babel/runtime/helpers/interopRequireDefault":12,"@babel/runtime/helpers/typeof":24,"jsdom":337}],1211:[function(require,module,exports){
 "use strict";
 
 require("../cases/logging/logger.js");
@@ -230688,12 +233090,16 @@ require("../cases/logging/logentry.js");
 
 require("../cases/dom/handle.js");
 
+require("../cases/dom/updater.js");
+
 require("../cases/dom/template.js");
 
 require("../cases/dom/util.js");
 
 require("../cases/dom/assembler.js");
 
+require("../cases/dom/theme.js");
+
 require("../cases/dom/customelement.js");
 
 require("../cases/types/queue.js");
@@ -230712,6 +233118,8 @@ require("../cases/types/uniquequeue.js");
 
 require("../cases/types/tokenlist.js");
 
+require("../cases/types/typeof.js");
+
 require("../cases/types/base.js");
 
 require("../cases/types/version.js");
@@ -230746,6 +233154,8 @@ require("../cases/data/pipe.js");
 
 require("../cases/data/diff.js");
 
+require("../cases/data/buildmap.js");
+
 require("../cases/data/transformer.js");
 
 require("../cases/math/random.js");
@@ -230755,6 +233165,6 @@ require("../cases/monster.js");
 /** this file was created automatically by the make target test-browser-monster */
 SharedArrayBuffer = ArrayBuffer;
 
-},{"../cases/constraint/andoperator.js":1160,"../cases/constraint/invalid.js":1161,"../cases/constraint/isarray.js":1162,"../cases/constraint/isobject.js":1163,"../cases/constraint/oroperator.js":1164,"../cases/constraint/valid.js":1165,"../cases/data/diff.js":1166,"../cases/data/pathfinder.js":1167,"../cases/data/pipe.js":1168,"../cases/data/transformer.js":1169,"../cases/dom/assembler.js":1170,"../cases/dom/customelement.js":1171,"../cases/dom/handle.js":1172,"../cases/dom/template.js":1173,"../cases/dom/util.js":1174,"../cases/logging/handler.js":1175,"../cases/logging/logentry.js":1176,"../cases/logging/logger.js":1177,"../cases/math/random.js":1178,"../cases/monster.js":1179,"../cases/types/base.js":1180,"../cases/types/global.js":1181,"../cases/types/id.js":1182,"../cases/types/is.js":1183,"../cases/types/observer.js":1184,"../cases/types/observerlist.js":1185,"../cases/types/proxyobserver.js":1186,"../cases/types/queue.js":1187,"../cases/types/randomid.js":1188,"../cases/types/stack.js":1189,"../cases/types/tokenlist.js":1190,"../cases/types/uniquequeue.js":1191,"../cases/types/validate.js":1192,"../cases/types/version.js":1193,"../cases/util/clone.js":1194,"../cases/util/comparator.js":1195}],1198:[function(require,module,exports){
-arguments[4][77][0].apply(exports,arguments)
-},{"dup":77}]},{},[1197]);
+},{"../cases/constraint/andoperator.js":1169,"../cases/constraint/invalid.js":1170,"../cases/constraint/isarray.js":1171,"../cases/constraint/isobject.js":1172,"../cases/constraint/oroperator.js":1173,"../cases/constraint/valid.js":1174,"../cases/data/buildmap.js":1175,"../cases/data/diff.js":1176,"../cases/data/pathfinder.js":1177,"../cases/data/pipe.js":1178,"../cases/data/transformer.js":1179,"../cases/dom/assembler.js":1180,"../cases/dom/customelement.js":1181,"../cases/dom/handle.js":1182,"../cases/dom/template.js":1183,"../cases/dom/theme.js":1184,"../cases/dom/updater.js":1185,"../cases/dom/util.js":1186,"../cases/logging/handler.js":1187,"../cases/logging/logentry.js":1188,"../cases/logging/logger.js":1189,"../cases/math/random.js":1190,"../cases/monster.js":1191,"../cases/types/base.js":1192,"../cases/types/global.js":1193,"../cases/types/id.js":1194,"../cases/types/is.js":1195,"../cases/types/observer.js":1196,"../cases/types/observerlist.js":1197,"../cases/types/proxyobserver.js":1198,"../cases/types/queue.js":1199,"../cases/types/randomid.js":1200,"../cases/types/stack.js":1201,"../cases/types/tokenlist.js":1202,"../cases/types/typeof.js":1203,"../cases/types/uniquequeue.js":1204,"../cases/types/validate.js":1205,"../cases/types/version.js":1206,"../cases/util/clone.js":1207,"../cases/util/comparator.js":1208}],1212:[function(require,module,exports){
+arguments[4][81][0].apply(exports,arguments)
+},{"dup":81}]},{},[1211]);
diff --git a/tutorials/dom-based-templating-implementation.md b/tutorials/dom-based-templating-implementation.md
new file mode 100644
index 000000000..a2d2bc5b3
--- /dev/null
+++ b/tutorials/dom-based-templating-implementation.md
@@ -0,0 +1,17 @@
+Monster uses a DOM-based template approach. All Monster templates are  
+valid, parsable HTML that has been extended with some special attributes. 
+
+## replace
+
+The simplest manipulation is to replace the content of a tag.  
+To do this, simply use the `data-monster-replace` attribute.
+
+```
+<div data-monster-replace="static:hello"></div>
+```
+
+The result is then the following html:
+
+```
+<div data-monster-replace="static:hello">hello</div>
+```
\ No newline at end of file
diff --git a/tutorials/getting-started.md b/tutorials/getting-started.md
index e595f77de..71e310b41 100644
--- a/tutorials/getting-started.md
+++ b/tutorials/getting-started.md
@@ -22,7 +22,7 @@ index.html.
 </div>
 
 <script type="module">
-    import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/modules/types/version.js';
+    import {Version} from 'https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/modules/types/version.js';
     document.getElementById('version').innerText = new Version('1.0.0').toString();
 </script>
 
@@ -47,7 +47,7 @@ the `Monster` namespace as a single javascript file.
 <head>
     <meta charset="utf-8">
     <title>awaken the monster in you!</title>
-    <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.7.0/dist/monster.js"></script>
+    <script src="https://cdn.jsdelivr.net/npm/@schukai/monster@1.8.0/dist/monster.js"></script>
 </head>
 <body>
 
diff --git a/tutorials/tutorial.md b/tutorials/tutorial.md
new file mode 100644
index 000000000..24517fb23
--- /dev/null
+++ b/tutorials/tutorial.md
@@ -0,0 +1,8 @@
+Monster is a lightweight, robust and easy-to-use library with modest ambitions.  
+Monster integrates easily with your existing websites without taking over everything.
+
+Here's ({@tutorial what-is-monster}) what Monster is all about. In section {@tutorial getting-started}  
+you can read how to integrate Monster into your own web projects.
+
+Monster has a free license and therefore you are free to customize Monster to your needs.
+
diff --git a/tutorials/tutorials.json b/tutorials/tutorials.json
index 667a49efd..145f8f3cb 100644
--- a/tutorials/tutorials.json
+++ b/tutorials/tutorials.json
@@ -1,5 +1,16 @@
 {
-  "getting-started": {
-    "title": "Getting Started"
+  "tutorial": {
+    "title": "Monster - Build fantastic websites!",
+    "children": {
+      "what-is-monster": {
+        "title": "What is Monster?"
+      },
+      "getting-started": {
+        "title": "Getting Started"
+      }
+    },
+    "dom-based-templating-implementation.md": {
+      "title": "DOM-based templating implementation"
+    }
   }
 }
\ No newline at end of file
diff --git a/tutorials/what-is-monster.md b/tutorials/what-is-monster.md
new file mode 100644
index 000000000..40ed0b957
--- /dev/null
+++ b/tutorials/what-is-monster.md
@@ -0,0 +1,13 @@
+Monster is a collection of functions and classes that can help in the daily work  
+with Javascript to get faster to the goal. Monster does not require you to be the  
+only library, nor does it require you to use only Monster.
+
+Monster itself has no dependencies and works perfectly with other frameworks  
+like jQuery or Bootstrap.
+
+**The design goals of Monster's core library are:**
+
+* Easy integration with existing user interfaces.
+* Robust interfaces
+* Tested code and good code coverage.
+* No dependencies on other libraries
\ No newline at end of file
-- 
GitLab