diff --git a/.gitignore b/.gitignore
index 81a4b623074a1b7d0a896cf4e68b65030ba1b044..e5f607d3d7204b4aae0f7b0a3738a6748de5308f 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 ea8308a419efc3c3cf8b0ab518d4731b804f9722..b69fe790a4ebbe32e2c3ed8b5d341ef629ce2d66 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 68fca4ccc77f52cb7ba199f49959e92af549fb47..6a9525603b3b55f1edae43ce5f5034a4667274ff 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 56bf44d7d51db26596ac2077e27a79966dcb40e4..0000000000000000000000000000000000000000
--- 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 38fc8c6f8b5b16f4c863ef355ca9c93cba29102f..6e86829ebe7f329a951dc997dc30164b4aa2504b 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 8e798c761851ad7bef5b5c5f02b0ee577aa317b5..0000000000000000000000000000000000000000
--- 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 3fa0f198bcfd17c12900e8de6634df1e2b9ab39c..3ea8e24afe7b2b3558518bb9cde3de02f0cd0a1e 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 fbfc6bebf4a2849e330a38f66d033a1b3a900a07..0000000000000000000000000000000000000000
--- 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 4aae6793797465511aa076d67965c279298a8509..0000000000000000000000000000000000000000
--- 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 ef94619780c85283c606a8da338e119adc8844f3..0834a8bd3bb62429894f9929e36093691cf110a2 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 e6bdc030588c77f2236f4e3300c41b5542c0eeb7..82afc4e1cfd06d4b99428802df0e3deef16b327a 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 f82565da1695b5a20c1f66eb0d4bfa6eff0c8119..363ea5fe2b7d777d57495ad1c56326d336e1fc0c 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 95a5bfd338d73557f23dff6c7fe6b8b63b09f2e5..9345ce24e7342b8810a03da44175e78d95cd2501 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 d7e38e0b25ff8b253cc98b4a922c30553d03540f..324a0c0cbeffd173d8509c8f64a5cfde2d884f08 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 68bc310b271a6a6af79e92ff7c5f07a78933110a..34cedbb14056d634a462b3bc132b678a82112c74 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 0a2b71b2369c940fb197c26778821269896d27e7..c9cbe0e138963694c2be83e6140e438749de566c 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 ddc5ea42c17026de405ddf08bdce6b7c07ae46b6..9dc658900f6d907f81d99a7c3e94fc0e31ffd7a4 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 5c393e1c8d7f0c6d106cdaa6d45ac4400ef6a163..026255f5ad0b4932a1d1d7d42a7aa7c07e3c492a 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 c5f5bd6ccc5ad7328fb1421c686d5e691e1e051a..294513ef465f54e8375890bd03f11a157aff8b77 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 bf634227b9b834013255287ecd7ce76e65825a7f..0a7bf79d0bc8bc96241261a651478152761f3777 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 6bccd848e81fa04edd92784e424d4981170c1b8d..0000000000000000000000000000000000000000
--- 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 f852a2e7e019cd7451b0ca2c2035e5e507c5d612..fa22668e002a4349891d4db8a2b25b15afaec2f1 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 d5191f3787e9c7c5b9bd25081f3dda129bf1fa03..0f6f986dbee4575c482d323ed8bc7a4f51a6011c 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 0000000000000000000000000000000000000000..fda6e6aa10e978b980390fbed2f3d054eeecbb2f
--- /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 d346cc61a568d61468c6576fef2eb1dbf8add9df..b821aea6d11f74b1d493bae5ca3d2173280f2616 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 39e21d0a687b4477debdb29a2b8bad8b8c5dcd68..3fb27f329e1538950dbf16d1a3716fd0eb0b4eab 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 833e1efe6008710f62c1283d2645b5dac074008d..76f5b30d6c702cd24c7012cd94e51c1ca1709ab3 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 fcea24220e270ba429db20a7f52c43224796751d..338c5dd7c2b01424493e19b51324db3501f1f257 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 98526614a059707d3ab3c452c0168cf400754a0a..0a4ea18c78c341de385b1e68e9907dee61e887be 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 437e3e4525a540c02ca52e5c5e0325514a3a7902..c60ab8578266ec86cd2bf65fb9d0a767d276746b 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 16759416c03988f92164218a70ee638f1b9d424c..3590cf2b82871c0856965846a5da1cb62ccd0e88 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 bb8070b9e5bf80fd10e31f9b8c6658bd8df7dfa6..5b818daeb49c47bba2554fe1534900588085345e 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 efd5039d4a467e4458632184563956785a212116..db75f6eaaba31b8eef849e80c9ec340ce4cf6ed9 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 1a1d2aed69d99858764a8faec81e1f0961b8f25c..99c2bdcf8410d8c8ded81f05ec169c3d8d5057c9 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 db1a5e37d6711e1255a26b6c67b4072bcb99bab5..4dfda5f738b3c89711cae394263ae0d4ab22afbe 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 3387300e3014061dff73d5f1279fbcf9050e6870..dc2c1324df56a0cfb90d14701a7de352ef32311b 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 8413cfc10ceaaadcfc9e497ccc5540bf0dd124c3..65bf1895bee83eb9c2d16a9128831a67fe566e70 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 62e23ddd8f3afbdf2ed22196aa4576fb12305c94..725ef5d2b450f9e09a10286fca1189267897e609 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 0cd502b6b2b8aa28065f3130f6d5006a1511aaf5..f8aba6131aa1af18babd5396d5f42d3355dbfb54 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 32b3382704db7202f0354c0a9135135a4fc6961a..577535b2a6b0ab394453a02bc33d84a8ada7f8fe 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 a87d029af9626e1ed03ff19ea21cb1e9e1610b38..e5d3a47412a76dcb9b59b5af98dfc5a3e4dffb3a 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 2a0df8a82a3f191a677de9e8f4ebed9e5db5603b..5f16efe6ea164891309105d78d3e644114dfeb18 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 d656bc72398fb8efa615220be9b04647fb053200..d8482684ff7607cca47c849d68bf6a9d67462857 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 0f76ae5bd27898a939cb0e10386acf6c745d9737..c19c15dc2b0ae92f579c702e09a0835278ab3b71 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 c3cf49dbbe54a7955fe0564609999bf8a17df1c4..6275a4f15ed2c59a13fa647f65cd1590ff3966b0 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 de360a4c57767780e2b934a946c3eeb583734af9..ff0e7958a930027d33fe9835ee4ec2c41960090d 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 d385c051d8fcc7a3f72fbe4d37f4ed472b1b12ca..c829e712cf11da5e7c2b8d6cba620a9062fd0b2e 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 9e5e051c6d1b201c33a2946c707279a6815f8220..34c22e8d880ba31373ff9855bf23a6956fa096b4 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 9ab006082d89548782a8ea41d02a7cb9cdd63a76..dfa14e71fee7eba4e5930c21d0a86f0c43d70d38 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 e2eb54e8bacf8665f649c1f94bbefa2bf42a48f8..3d3deeccf57ca53a33b7c63fbca9e1a3ba9937c2 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 1602e1facf3610bfea8b4ccc78008c02e784fb8b..0000000000000000000000000000000000000000
--- 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 5f6be4c3b801df69720ca3fde05d036cfac13ba5..0000000000000000000000000000000000000000
--- 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 20d05fb7f7f99e00bb02ce3a31c83641870a07ff..0000000000000000000000000000000000000000
--- 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 e213571d1a1e1906c40927464870b73d25b77f62..0000000000000000000000000000000000000000
--- 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 d9d1b25c1749229afcc2e6e4a83c8d1217762abe..0000000000000000000000000000000000000000
--- 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 e2e815671d740da6b4232266f5682678b6870245..0000000000000000000000000000000000000000
--- 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 a8863a908e0122cad2c6d8cb14a8a57f02e3926a..0000000000000000000000000000000000000000
--- 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 c0d6ec9644f0395943a3c3b78a097678ded1c126..0000000000000000000000000000000000000000
--- 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 d369a6866fa8fa4514d7ec41442870b6b738ff94..0000000000000000000000000000000000000000
--- 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 83ff5adcd306578bb31d93f7b851125f46e13ace..0000000000000000000000000000000000000000
--- 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 09d87255f723e360a61124d157b7aa2809c0d218..0000000000000000000000000000000000000000
--- 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 2f5b6cb98e009d99f548d8dd6b55d7aa77f52050..0000000000000000000000000000000000000000
--- 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 a991b9d21170c664ece61765d167aa4b33d483cd..0000000000000000000000000000000000000000
--- 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 648a24b8be198ec31be675fde3e32697128207a5..0000000000000000000000000000000000000000
--- 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 2eaace76bcbd990ae3fc72a3bec65ef83d030c45..0000000000000000000000000000000000000000
--- 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 6b0403067206516871e05fcdafe2be0c7be7ddf3..0000000000000000000000000000000000000000
--- 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 11a37be64117adf7f00249c62231b23b697d4057..0000000000000000000000000000000000000000
--- 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 0cb1371b7a6a761c8d21f3f51cef00d88fb488ef..0000000000000000000000000000000000000000
--- 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 3b2a59d1a8a8d5f3d726293560998412fcc8eda3..0000000000000000000000000000000000000000
--- 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 af083ed578765be5ceb5f150a3ea7b6e8546e909..0000000000000000000000000000000000000000
--- 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 10e4823cd8116dc675e6c1367908d5c4ce3bbc23..0000000000000000000000000000000000000000
--- 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
Binary files a/docs/fonts/Montserrat/Montserrat-Bold.eot and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Bold.ttf b/docs/fonts/Montserrat/Montserrat-Bold.ttf
deleted file mode 100644
index 3bfd79b66f9dd2a59deef46385ff5d9c576d6aae..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Bold.ttf and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff b/docs/fonts/Montserrat/Montserrat-Bold.woff
deleted file mode 100644
index 92607654b7c7225082b354f7ec641d5595f3d8c1..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Bold.woff and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Bold.woff2 b/docs/fonts/Montserrat/Montserrat-Bold.woff2
deleted file mode 100644
index d9940cd116dd684dce8fdc2ea0aaf878bbdd1880..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Bold.woff2 and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Regular.eot b/docs/fonts/Montserrat/Montserrat-Regular.eot
deleted file mode 100644
index 735d12b51e3e109058fe239ec79c77cbd59f1384..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Regular.eot and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Regular.ttf b/docs/fonts/Montserrat/Montserrat-Regular.ttf
deleted file mode 100644
index 5da852a349abb6a4f043b9bbbed1f66f6c249dc9..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Regular.ttf and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff b/docs/fonts/Montserrat/Montserrat-Regular.woff
deleted file mode 100644
index bf9183271b796e265c5d4be9e74a37955f03e11f..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Regular.woff and /dev/null differ
diff --git a/docs/fonts/Montserrat/Montserrat-Regular.woff2 b/docs/fonts/Montserrat/Montserrat-Regular.woff2
deleted file mode 100644
index 72d13c60bdf28d94eb46595d99c0dd5f499a6e08..0000000000000000000000000000000000000000
Binary files a/docs/fonts/Montserrat/Montserrat-Regular.woff2 and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.eot and /dev/null differ
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 5384f985d246a39df4fbb524afb183e6de8da10f..0000000000000000000000000000000000000000
--- 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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.ttf and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.eot and /dev/null differ
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 dee0949fd639dfdfd5314b8c8282714b0b9818fa..0000000000000000000000000000000000000000
--- 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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff and /dev/null differ
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
Binary files a/docs/fonts/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 and /dev/null differ
diff --git a/docs/global.html b/docs/global.html
index 1fed1a320dd914d5616c36f0bfdb3c70fbe90dbd..fe898c50dfefb5f0a64a57ee607664831bdc37fd 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 2c8ce8f48ccb6eb0e50d460c206940d028ecb49f..aba3b5d77781ab5db87348a33394904f11c7b068 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 61afd9a3a3696d04ef5252a7c5291b36b3f33b92..be80856cfa54cc115071ad3cc5e8a77067529e0d 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 d947b6e3594a5697432e10a1f11ff481be449bfc..0000000000000000000000000000000000000000
--- 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 948d9eee87beabeea6b5e4b525b20caac00cb7be..0000000000000000000000000000000000000000
--- 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 c39aac6d540b10885f6ca047f116f98c454ee5aa..0000000000000000000000000000000000000000
--- 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 a0212fb035f4e6250170727240a9162fba16b684..0000000000000000000000000000000000000000
--- 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 e7f3664906c68512843864ad3f245a498f3f3d0e..0000000000000000000000000000000000000000
--- 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 a34c27064f87d4c115db606928919d7a02f3a56e..0000000000000000000000000000000000000000
--- 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 2abe342805c98ec3b46f206f0fc5e96d0623484f..0000000000000000000000000000000000000000
--- 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 483ba0b375650e63e2f9810d15c26c6fa602980e..0000000000000000000000000000000000000000
--- 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 2d5d092d36af3d0184bd9ea93f5ad79f7f3fd6bb..0000000000000000000000000000000000000000
--- 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 5a0ee9c114d376907a35e743a24d006b412575fc..0000000000000000000000000000000000000000
--- 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 327039fb34d889655a658a740961be8f14c97e85..0000000000000000000000000000000000000000
--- 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 6dd83134296e0c55fa21101fd058b8dea73fcffb..0000000000000000000000000000000000000000
--- 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 44b4c92dcdee486f3ad1ba378b74d97949382ccf..0000000000000000000000000000000000000000
--- 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 d645695673349e3947e8e5ae42332d0ac3164cd7..0000000000000000000000000000000000000000
--- 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 041e1f59067977554f29146ed51c13bcf509f0af..0000000000000000000000000000000000000000
--- 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 eef5ad7e6a07676b3919146d583d1c190bf1e163..0000000000000000000000000000000000000000
--- 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 eb452659b14dfafcbc0eca91dd52575e9103be72..0000000000000000000000000000000000000000
--- 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 d9521ec85e26d3a6dd10847a761862dd2bc8f2af..0000000000000000000000000000000000000000
--- 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 0000000000000000000000000000000000000000..b6003a3acc8ee9e705265e19c70e13058d596edd
--- /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 cfd74b989e3c0b019beb40cc77fd2d04d87a8f1d..17f37455ea1a35abfd8d7bca1dff9e04903d111e 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 0000000000000000000000000000000000000000..6a93c46c08dd3cb811ac34e2093e74db31ff3929
--- /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 0000000000000000000000000000000000000000..b966ab48006e37dd804460c15afd0d3ec487cfa4
--- /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 2b78666b5098db9de4c08ef9298d428c99ce494f..0000000000000000000000000000000000000000
--- 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 06981788214ca08d8da2214230c0306fa14bc5d4..0000000000000000000000000000000000000000
--- 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 728add85ff25715e0dee405fe05127c2ea471192..0000000000000000000000000000000000000000
--- 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 9f1485b1c44f4351eaebb3180e3c983701710243..0000000000000000000000000000000000000000
--- 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 134dee9f01549dd7317a4e6bdf7b1d2b8fad38b1..0000000000000000000000000000000000000000
--- 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 2bf1179c5158f62c27ef45c2af17e0440c998353..0000000000000000000000000000000000000000
--- 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 cc9d4c56ff17bcad7d2896daf972560beec7aa22..0000000000000000000000000000000000000000
--- 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 155bd968d650dbae734d41374466a8b7ba0dc8f9..0000000000000000000000000000000000000000
--- 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 699cd54096a2d75c9d12c83dda848d6fe84c3093..0000000000000000000000000000000000000000
--- 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 81705b30af2d4d395b5ef1f0025bbfcdb97981b2..0000000000000000000000000000000000000000
--- 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 7a8251950a01466d0b0ed992326fd72c106379b3..0000000000000000000000000000000000000000
--- 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 dd20a411c2619e1a33f9bd93bc99e9d5818436c3..0000000000000000000000000000000000000000
--- 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 d30e510f7eb8c9c8b6ea2348acdbcc5656d2d56e..0000000000000000000000000000000000000000
--- 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 a09ef159867df75471a7d20e9c22efab0369a1be..0000000000000000000000000000000000000000
--- 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 c66a3602a9408ec867bf4468e2759288141bedb1..0000000000000000000000000000000000000000
--- 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 18a6a259065fd39ea931003d13b8367cc8acb96c..0000000000000000000000000000000000000000
--- 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 b6caea29c17ccd4f6059aedc206e82d7c40ad780..0000000000000000000000000000000000000000
--- 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 f56e391997236c07f276b5f7e32cc0c1f09cf8f3..0000000000000000000000000000000000000000
--- 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 7709858fcad1c3f0a1707053c855fda8533c827f..0000000000000000000000000000000000000000
--- 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 7d1a9f2c32f39ed60d164f3d2000ae70ec38a023..f8c5728e2c5c50664426516a6a64816dd8719271 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 ccc4363149a1cd9f776130d550c9ade5cf1e2713..89418b630f4098d50cdd1f27d02528239c23ce21 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 d69f2e2f6bc6c3105757e548411c647a86a3f973..fe67e022b2486241e5feb506b593f1e6a435f3d7 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 29aef67878a7e8107c936a27cd9c813f5dcb79ce..7935ef139dddd2dd0a4767621f2281d1ce1c55b1 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 e26cbcd73a8c6dddf502be1f5d03e050a899daa5..a0e7f93cf60f3c0c41e48770cc4dec0e9ccdafb2 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 bb05cbaff27bcc85141119463d91614f29704c6b..c07ff21bd3ead3f44673e8b48cff74e769d277ce 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 ed4f0078fcd0a4cf38c800ddf3206a0ef726d723..6682d6a12d727f1fa5b37038df763e925579c142 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 be58ede5fd55391776285896da92fefeab610276..ecb70989a13bde7c6e35bbb2e94030977324d0cd 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 a9ce55aec4ab679ba786e1ce5305dc0faa416d2a..98e918741e3d0a886a65735785f64ff8b24c09a8 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 802acb994035870093e636d3a8c8532464954b15..6c4f5b284f5713a6708aae6fe4623eeb89c0d735 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 e2f50297b53d5f5bf06027d0dbd5d3bf606f00c7..b29360dd4ea62a7e7ad913539bb8a9b8e0f44141 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 d786cc2092da191dc5a9a82d124e054b1db8de9f..8ab2a3bb705b48870ed44dc1dba6b56cd9bc4b9e 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 a6fb37c512aef36b5652adf78591fb48ee666e4a..464f1964bcd73d4c0f069306122930d027bd622a 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 49118e28d1b785d5ed28d6081d0554a55ffdf0cb..39119f68766c259ba2351a1c4fe57f0395e114da 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 ae23ac724a564b746f5c202f895099a9cc7961b8..231cb4e9f73b165027e279723806b4abdca907a5 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 e603008534acde156d29dbf2c15687604c9b87f2..610d9421b30e62c057412d2800180b87bdaa35ab 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 42ef97b7c8e5fd1f129a3d2001e4525952372b11..befe2ad4f9021d9ec848817ecfad72d830336daf 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 16c2dc870b35fb4da7b91b37ab5bf28e2e4ab40c..9ddf6627fa888296594b867dfabf5be57a6b7955 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 7990037f4f8b596f3c23c3666e6e42a0c1e23626..e2ebe7f1e4787496c994bd4765c7a7c9bb5b38e8 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 4d2e81ce99ebc37fb734306f0a8190521025b824..024bb8da4f502bd08d82b09302e8e2992a83ebf3 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 a8223a757cd6b351971a89f86ff612786883a903..aa26f9a1fa09d99d909d3e7750aa16906c7d78c3 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 0000000000000000000000000000000000000000..1a95abc8d676635979b6c361711b0854a7590499
--- /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 ed33db1ee7ce7a10b5bcde5bb1d9a715e54f9a7c..a93adcc91e7a4e205085e34744e16077b9357f3e 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 7a1dce52ecd9c1af7494c58851f7c382aa06632a..40fab99c1e279b83d562c6084a4f62b76bc6f946 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 fd33937de017321315be6e9df1ed2956ca398eba..0c23ce43f61783bd95ec11f21e6ec29730066838 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 71a7af432ae46047b681276e08e61dfbd5095c71..75ed50c9c425eb55e593959c4552be05bd978ad9 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 1afc99d5347c2396133c58bb156716ded4ff5755..f7b4b66b0f829d1fc58b98df111d6802f7ccadbc 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 0000000000000000000000000000000000000000..cf3f48ec676ad3b5748bda951e6008d23ac7bba8
--- /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 f6ef9d365c56ee08cda6d0661350f5a8d0c6714c..513075628fea4dd97753b08961a55204104e4046 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 e07ca88f029e8b1daed74bd0905811dfd23e901e..8395bd26f1e5c91e5c27d3eb39eb2c6d1ec45368 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 592d6b93d4a8f37f7af3ff5c535fea1b19b19e97..fb74e44ab1ccd55fe3100b965601e5eec9162eb1 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 2e82980cfc12bb38b933a14adef14b529703d091..f129e06882d117438113f7dc9c34a1b7e6eb2ceb 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 cbad8b77d9fcbaa0635819113c393bec9d91aaf9..ab2d887cef0595659f5be1ed3b00fce91fde6bee 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 da485982c64468ae62e74290f579207a45d93c47..588c2b25bbd9704955e2a62253ef9e6e386f2516 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 687977b55bdc40eee1e876e66879a936ecb73912..ff3c922749449cd4c4040917fd2be67e05401624 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 dcbba0022efe40caf02ddc47ff7aeadb9f9aa335..f2941c1197187b607239f396e0225ff61c083284 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 c598824984a9a7dbe5bb6a214bed50c7301f1005..7ec93117149370b5f6b75581065da00353388c94 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 63cc6b46d163e3d2b7de782a76cc76769cd6ac6c..f021985d3f15805ccb59d4d967dfe0a5ad6ad13d 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 ee70c4cfe270b897165692e089a6d69c1a17c259..d893c90df146ea0c3dc88e6ea2f99c2d2ddf82d7 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 7f8faa02ca911f8862647bc73dbd85f3c089ecc2..01acf7384be52d43990c3a6124a2fb5381572f9a 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 084143ddceb52e59739654e57bad390cdc354fc3..2949093d3241345137ed01339db65d182b16a64b 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 8da922790d3d402b2d63211483e94a29bdd7dad0..7b78f7a730b310cedeb1473ce8a19e8bb290c7b9 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 8b3c11103305cee7bea206b95896df49d7237220..4ed0c7c14077ab8a41dafccfdb4e506de3b50481 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 4a1fdad040b411b6a45d216aee4448e07c78859b..4df72695fdb8f13151f4f8201ef4da1bcd66c07d 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 7643bfe500c97790a43ffee12b34ecbd6dd29f04..7ade5a513c46f52014626facfb33b5bb99ea4155 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 8a98482d762f97ac6a8a9e4603aa08be518ffb35..7af101e47e0caceee3f345ab4e31f9d5c6d247ff 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 9c1311d9b998cc7dde4044ce714ac9da4b854153..a24f2904af0c7f519b42aca2744cfa2f0d45c0c8 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 43b4a74d4572f6f71b49c8148f7cc004ff83c5b7..0fa25c496b9ea8580dbd4fbdb4e6e37902e8fdc7 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 9469adfb7e6c0b2e6f754b1f3a5c94b8d2f76615..dd06cd8907b0e341c0d2f4ab424fde028ea4532e 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 904c3449c156e6bfa8d01919155883812f043b38..9462c459f6a2b570f91316a19ad7ce032cf1d204 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 f2ed1b0dffe6fa30517ec66ff5a7c080c42c3e60..193779eb7dfa3124e18d9a73eb173777119aca2b 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 002ea9343c32124b67b4d0401455a7557baf5f10..3fb3024c5e56c30274bd5a076ef79e11d92010b9 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 95b12757ff22c1c757330af6ef52edcfde6868d9..50815263d7d4d4d089c810d9ca0e3c871c8d8db3 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 d304259c362cbf712eaf0528d551634a05428022..a69741c4837b85e3cda74376c9ca0a8c7637c324 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 66e62fcd1f17ce5b62fc362d79a152a46e5ca7e1..0569fe0d6129a78b3c41fff5c90e852c275143e5 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 bf5340bce4ac37523878faca8f16ba67fff9ad63..07a61c3a8047dcbfd4c83257f58719b67fe3c309 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 ab226bc6a1877bfdd2063e90520a5f680f0ba695..0d7bb212fa3648279b9bd84784dfacb387b85016 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 5c9a032eacfd6d03c9c403c1c0c7f8d1f3c033fb..a8c5d68aa5d2107a73f5a9ff9da62efcd8103d57 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 d831f7a15869960d3daa168237257a64888f54f7..6772720b281ebc73ebb822412817ea15dcfd0acc 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 5b2478a26e755da6cdb43a2b49f3abb38ed688d2..601c47fd4093b9f40e6945733af0a0e64752b9bb 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 5a7ce0490271f874a5663fc82f2e8361a8f52139..70b5c857d50f1d37c0b8409edb0eeca23f4a22cc 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,CAAzD;AACA,IAAA,IAAI,CAAC,IAAL,CAAU,CAAV;AACA,WAAO,IAAI,GAAJ,CAAQ,IAAI,CAAC,GAAL,CAAS,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,CAAV;AAAA,KAAT,CAAR,CAAP;AACH;;AAED,SAAO,IAAI,GAAJ,CAAQ,MAAM,CAAC,IAAP,CAAY,CAAZ,EAAe,MAAf,CAAsB,MAAM,CAAC,IAAP,CAAY,CAAZ,CAAtB,CAAR,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,CAAhB,EAAmB,CAAnB,EAAsB,IAAtB,EAA4B,IAA5B,EAAkC;AAE9B,MAAI,KAAK,WAAU,CAAV,CAAT;;AACA,MAAI,KAAK,WAAU,CAAV,CAAT;;AAEA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAzB;AACA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAzB;;AAEA,MAAI,KAAK,KAAK,KAAV,IAAmB,KAAK,KAAK,QAAjC,EAA2C;AAAE;AAEzC,IAAA,OAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,KAAP,CAAP,CAAqB,OAArB,CAA6B,UAAC,CAAD,EAAO;AAEhC,UAAI,CAAE,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,CAArC,EAAwC,CAAxC,CAAN,EAAmD;AAC/C,QAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,KAAb,EAAoB,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAApB,CAAzB;AACH,OAFD,MAEO,IAAI,CAAE,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,CAArC,EAAwC,CAAxC,CAAN,EAAmD;AACtD,QAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,QAAb,EAAuB,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAAvB,CAAzB;AACH,OAFM,MAEA;AACH,QAAA,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAAb,EAAiC,QAAjC,CAAN;AACH;AACJ,KATD;AAWH,GAbD,MAaO;AAEH,QAAM,CAAC,GAAG,WAAW,CAAC,CAAD,EAAI,CAAJ,EAAO,KAAP,EAAc,KAAd,CAArB;;AACA,QAAI,CAAC,KAAK,SAAV,EAAqB;AACjB,MAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,IAAV,CAAzB;AACH;AAEJ;;AAED,SAAO,QAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,CAArB,EAAwB,CAAxB,EAA2B,QAA3B,EAAqC,IAArC,EAA2C;AAEvC,MAAM,MAAM,GAAG;AACX,IAAA,QAAQ,EAAR,QADW;AAEX,IAAA,IAAI,EAAJ;AAFW,GAAf;;AAKA,MAAI,QAAQ,KAAK,KAAjB,EAAwB;AACpB,IAAA,MAAM,CAAC,KAAP,GAAe;AACX,MAAA,KAAK,EAAE,CADI;AAEX,MAAA,IAAI,UAAS,CAAT;AAFO,KAAf;;AAKA,QAAI,kBAAS,CAAT,CAAJ,EAAiB;AAAA;;AACb,UAAM,IAAI,4BAAG,MAAM,CAAC,cAAP,CAAsB,CAAtB,CAAH,oFAAG,sBAA0B,WAA7B,2DAAG,uBAAuC,IAApD;;AACA,UAAI,IAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,MAAM,CAAC,KAAP,CAAa,QAAb,GAAwB,IAAxB;AACH;AACJ;AACJ;;AAED,MAAI,QAAQ,KAAK,KAAb,IAAsB,QAAQ,KAAK,QAAvC,EAAiD;AAC7C,IAAA,MAAM,CAAC,MAAP,GAAgB;AACZ,MAAA,KAAK,EAAE,CADK;AAEZ,MAAA,IAAI,UAAS,CAAT;AAFQ,KAAhB;;AAKA,QAAI,kBAAS,CAAT,CAAJ,EAAiB;AAAA;;AACb,UAAM,KAAI,6BAAG,MAAM,CAAC,cAAP,CAAsB,CAAtB,CAAH,qFAAG,uBAA0B,WAA7B,2DAAG,uBAAuC,IAApD;;AACA,UAAI,KAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,MAAM,CAAC,MAAP,CAAc,QAAd,GAAyB,KAAzB;AACH;AACJ;AAEJ;;AAED,SAAO,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,CAApB,EAAuB,CAAvB,EAA0B;AAEtB,MAAI,QAAO,CAAP,cAAoB,CAApB,CAAJ,EAA2B;AACvB,WAAO,IAAP;AACH;;AAED,MAAI,CAAC,YAAY,IAAb,IAAqB,CAAC,YAAY,IAAtC,EAA4C;AACxC,WAAO,CAAC,CAAC,OAAF,OAAgB,CAAC,CAAC,OAAF,EAAvB;AACH;;AAED,SAAO,CAAC,KAAK,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,CAArB,EAAwB,CAAxB,EAA2B;AAEvB;AACJ;AACA;AACI,MAAI,QAAJ;AAEA;AACJ;AACA;;AACI,MAAI,KAAK,WAAU,CAAV,CAAT;AAEA;AACJ;AACA;;;AACI,MAAI,KAAK,WAAU,CAAV,CAAT;;AAEA,MAAI,KAAK,KAAK,WAAV,IAAyB,KAAK,KAAK,WAAvC,EAAoD;AAChD,IAAA,QAAQ,GAAG,KAAX;AACH,GAFD,MAEO,IAAI,KAAK,KAAK,WAAV,IAAyB,KAAK,KAAK,WAAvC,EAAoD;AACvD,IAAA,QAAQ,GAAG,QAAX;AACH,GAFM,MAEA,IAAI,UAAU,CAAC,CAAD,EAAI,CAAJ,CAAd,EAAsB;AACzB,IAAA,QAAQ,GAAG,QAAX;AACH;;AAED,SAAO,QAAP;AAEH;;AAED,YAAQ,iBAAR,CAA0B,cAA1B,EAA0C,IAA1C;;;ACtPA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,SAAS,GAAG,GAAlB;AACA;AACA;AACA;AACA;;AACA,IAAM,QAAQ,GAAG,GAAjB;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;;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;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;;AACA,UAAI;AACA,QAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,IAA9C;AACA,eAAO,IAAP;AACH,OAHD,CAGE,OAAO,CAAP,EAAU,CAEX;;AAED,aAAO,KAAP;AACH;;;;EA9FoB,U;;;;AAkGzB,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAT,CAAiB,OAAjB,EAA0B,IAA1B,EAAgC,KAAhC,EAAuC;AAEnC,MAAM,MAAM,GAAG,IAAI,GAAJ,EAAf;;AAEA,MAAI,kBAAS,OAAT,KAAqB,iBAAQ,OAAR,CAAzB,EAA2C;AACvC,uCAA2B,MAAM,CAAC,OAAP,CAAe,OAAf,CAA3B,qCAAoD;AAA/C;AAAA,UAAO,GAAP;AAAA,UAAY,KAAZ;;AACD,MAAA,MAAM,CAAC,GAAP,CAAW,GAAX,EAAgB,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAA3B,EAAkC,IAAlC,EAAwC,KAAxC,CAAhB;AACH;AACJ,GAJD,MAIO;AACH,QAAI,IAAG,GAAE,IAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,KAAtB,EAAT;;AACA,IAAA,MAAM,CAAC,GAAP,CAAW,IAAX,EAAgB,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,OAA3B,EAAoC,IAApC,EAA0C,KAA1C,CAAhB;AACH;;AAED,SAAO,MAAP;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,OAAzB,EAAkC,IAAlC,EAAwC,KAAxC,EAA+C;AAE3C,MAAI,IAAI,KAAK,EAAb,EAAiB;AACb,WAAO,OAAP;AACH;;AAED,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAZ;AACA,MAAI,OAAO,GAAG,KAAK,CAAC,KAAN,EAAd;;AAEA,MAAI,OAAO,KAAK,KAAK,QAArB,EAA+B;AAC3B,WAAO,OAAO,CAAC,IAAR,CAAa,IAAb,EAAmB,OAAnB,EAA4B,KAAK,CAAC,IAAN,CAAW,SAAX,CAA5B,EAAmD,KAAnD,CAAP;AACH;;AAED,MAAI,kBAAS,OAAT,KAAqB,iBAAQ,OAAR,CAAzB,EAA2C;AAEvC,QAAI,MAAJ;;AACA,QAAI,OAAO,YAAY,GAAnB,IAA0B,OAAO,YAAY,OAAjD,EAA0D;AACtD,MAAA,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,OAAZ,CAAT;AAEH,KAHD,MAGO,IAAI,OAAO,YAAY,GAAnB,IAA0B,OAAO,YAAY,OAAjD,EAA0D;AAAA;;AAC7D,MAAA,OAAO,GAAG,QAAQ,CAAC,OAAD,CAAlB;AACA,qCAAgB,OAAhB;AACA,MAAA,MAAM,8BAAO,OAAP,0CAAG,KAAe,OAAf,CAAT;AAEH,KALM,MAKA,IAAI,OAAO,YAAY,OAAvB,EAAgC;AACnC,YAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,KAHM,MAGA,IAAI,iBAAQ,OAAR,CAAJ,EAAsB;AACzB,MAAA,OAAO,GAAG,QAAQ,CAAC,OAAD,CAAlB;AACA,qCAAgB,OAAhB;AACA,MAAA,MAAM,GAAG,OAAH,aAAG,OAAH,uBAAG,OAAO,CAAG,OAAH,CAAhB;AACH,KAJM,MAIA;AACH,MAAA,MAAM,GAAG,OAAH,aAAG,OAAH,uBAAG,OAAO,CAAG,OAAH,CAAhB;AACH;;AAED,QAAI,kBAAS,MAAT,KAAoB,iBAAQ,MAAR,CAAxB,EAAyC;AACrC,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,KAAK,CAAC,IAAN,CAAW,SAAX,CAAnC,EAA0D,KAA1D,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAN,GAAe,CAAnB,EAAsB;AAClB,YAAM,KAAK,CAAC,oCAAoC,KAAK,CAAC,IAAN,CAAW,SAAX,CAApC,GAA4D,GAA7D,CAAX;AACH;;AAED,QAAI,KAAK,KAAK,IAAV,IAAkB,CAAC,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAAvB,EAAwD;AACpD,YAAM,KAAK,CAAC,eAAD,CAAX;AACH;;AAED,WAAO,MAAP;AAEH;;AAED,QAAM,SAAS,CAAC,8BAA2B,OAA3B,CAAD,CAAf;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,MAAzB,EAAiC,IAAjC,EAAuC,KAAvC,EAA8C;AAE1C,gCAAe,IAAf;AAEA,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAZ;AACA,MAAI,IAAI,GAAG,KAAK,CAAC,GAAN,EAAX;AACA,MAAI,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAd;AAEA,MAAI,KAAK,GAAG,IAAI,YAAJ,EAAZ;AACA,MAAI,OAAO,GAAG,OAAd;;AACA,SAAO,IAAP,EAAa;AAET,QAAI;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,EAA4C,IAA5C;AACA;AACH,KAHD,CAGE,OAAO,CAAP,EAAU,CAEX;;AAED,IAAA,KAAK,CAAC,IAAN,CAAW,OAAX;AACA,IAAA,KAAK,CAAC,GAAN;AACA,IAAA,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAV;AAEA,QAAI,OAAO,KAAK,EAAhB,EAAoB;AACvB;;AAED,SAAO,CAAC,KAAK,CAAC,OAAN,EAAR,EAAyB;AACrB,IAAA,OAAO,GAAG,KAAK,CAAC,GAAN,EAAV;AACA,QAAI,GAAG,GAAG,EAAV;;AAEA,QAAI,CAAC,KAAK,CAAC,OAAN,EAAL,EAAsB;AAClB,UAAI,CAAC,GAAG,KAAK,CAAC,IAAN,GAAa,KAAb,CAAmB,SAAnB,EAA8B,GAA9B,EAAR;;AACA,UAAI,mBAAU,QAAQ,CAAC,CAAD,CAAlB,CAAJ,EAA4B;AACxB,QAAA,GAAG,GAAG,EAAN;AACH;AAEJ;;AAED,IAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,EAA4C,GAA5C;AACH;;AAED,MAAI,MAAM,GAAG,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,CAAb;;AAEA,MAAI,CAAC,kBAAS,MAAT,CAAD,IAAqB,CAAC,iBAAQ,MAAR,CAA1B,EAA2C;AACvC,UAAM,SAAS,CAAC,+BAA8B,MAA9B,CAAD,CAAf;AACH;;AAED,MAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA/C,EAAwD;AACpD,IAAA,MAAM,CAAC,GAAP,CAAW,IAAX,EAAiB,KAAjB;AACH,GAFD,MAEO,IAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA/C,EAAwD;AAC3D,IAAA,MAAM,CAAC,MAAP,CAAc,KAAd;AAEH,GAHM,MAGA,IAAI,MAAM,YAAY,OAAtB,EAA+B;AAClC,UAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,GAHM,MAGA,IAAI,iBAAQ,MAAR,CAAJ,EAAqB;AACxB,IAAA,IAAI,GAAG,QAAQ,CAAC,IAAD,CAAf;AACA,mCAAgB,IAAhB;AACA,IAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAf;AACH,GAJM,MAIA;AACH,IAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAf;AACH;;AAED;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,kBAAT,CAA4B,MAA5B,EAAoC,IAApC,EAA0C;AAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAd;AACA,MAAI,IAAI,GAAG,KAAK,CAAC,GAAN,EAAX;AACA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAhB;AAEA,MAAM,MAAM,GAAG,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,CAAf;;AAEA,MAAI,MAAM,YAAY,GAAtB,EAA2B;AACvB,IAAA,MAAM,UAAN,CAAc,IAAd;AACH,GAFD,MAEO,IAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA3C,IAAsD,MAAM,YAAY,OAAxE,IAAmF,MAAM,YAAY,OAAzG,EAAkH;AACrH,UAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,GAHM,MAGA,IAAI,iBAAQ,MAAR,CAAJ,EAAqB;AACxB,IAAA,IAAI,GAAG,QAAQ,CAAC,IAAD,CAAf;AACA,mCAAgB,IAAhB;AACA,WAAO,MAAM,CAAC,IAAD,CAAb;AACH,GAJM,MAIA;AACH,WAAO,MAAM,CAAC,IAAD,CAAb;AACH;;AAED;AAEH;;;ACzbD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,SAAS,GAAG,GAAlB;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,I;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,gBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,kCAAe,IAAf;AACA,UAAK,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,GAAtB,CAA0B,UAAC,CAAD,EAAO;AACzC,aAAO,IAAI,wBAAJ,CAAgB,CAAhB,CAAP;AACH,KAFW,CAAZ;AAHc;AAOjB;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,KAAK,IAAL,CAAU,MAAV,CAAiB,UAAC,WAAD,EAAc,YAAd,EAA4B,YAA5B,EAA0C,KAA1C,EAAoD;AACxE,eAAO,YAAY,CAAC,GAAb,CAAiB,WAAjB,CAAP;AACH,OAFM,EAEJ,KAFI,CAAP;AAGH;;;;EA1Bc,U;;;;AA6BnB,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,IAA1C;;;ACzFA;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;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,CAAb;;AAT0B,6CAWZ,MAXY;AAAA;;AAAA;AAW1B,wDAAsB;AAAA,UAAb,CAAa;AAClB,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,QAAH,CAAP;;AACA,UAAG,CAAC,kBAAS,CAAT,CAAJ,EAAiB;AACb;AACH;;AAED,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,SAAH,CAAP;AACA,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,MAAH,CAAP;;AAEA,UAAG,CAAC,IAAE,CAAN,EAAS;AACL,YAAI,CAAC,GAAC,OAAK,IAAI,MAAJ,GAAS,QAAT,EAAL,GAAyB,IAA/B;AACA,QAAA,WAAW,CAAC,GAAZ,CAAgB,CAAhB,EAAmB,CAAnB;AACA,QAAA,OAAO,GAAC,OAAO,CAAC,OAAR,CAAgB,CAAhB,EAAkB,CAAlB,CAAR;AACH;AAEJ;AA1ByB;AAAA;AAAA;AAAA;AAAA;;AA2B1B,MAAI,KAAK,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAZ;AAEA,EAAA,KAAK,GAAG,KAAK,CAAC,GAAN,CAAU,UAAU,KAAV,EAAiB;AAC/B,QAAI,CAAC,GAAI,KAAK,CAAC,IAAN,EAAT;;AAD+B,gDAElB,WAFkB;AAAA;;AAAA;AAE/B,6DAA0B;AAAA,YAAlB,CAAkB;AACvB,QAAA,CAAC,GAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,CAAD,CAAX,EAAgB,CAAC,CAAC,CAAD,CAAjB,CAAH;AACF;AAJ8B;AAAA;AAAA;AAAA;AAAA;;AAK/B,WAAO,CAAP;AAGH,GARO,CAAR;AAUA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAE5B,MAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,UAArB,CAAvB,EAAyD;AACrD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAN,EAAR;AACH;;AAED,gCAAe,KAAf;AACA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,IAAI,GAAG,kBAAM,KAAK,IAAX,CAAX;AACA,MAAI,GAAJ;;AAEA,UAAQ,KAAK,OAAb;AAEI,SAAK,QAAL;AACI,aAAO,KAAK,IAAL,CAAU,IAAV,CAAe,GAAf,CAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,KAAK,KAAZ;;AAEJ,SAAK,WAAL;AACI,UAAI,CAAC,GAAG,QAAQ,CAAC,KAAD,CAAhB;AACA,qCAAgB,CAAhB;AACA,aAAO,CAAP;;AAEJ,SAAK,MAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,IAAN,EAAP;;AAEJ,SAAK,cAAL;AACI,oCAAe,KAAf;AACA,aAAO,kBAAkB,CAAC,KAAD,CAAlB,CACF,OADE,CACM,IADN,EACY,KADZ,EAEF,OAFE,CAEM,IAFN,EAEY,KAFZ,EAGF,OAHE,CAGM,KAHN,EAGa,KAHb,EAIF,OAJE,CAIM,KAJN,EAIa,KAJb,EAKF,OALE,CAKM,KALN,EAKa,KALb,CAAP;;AAQJ,SAAM,MAAN;AAEI;AACZ;AACA;AACA;AACA;AACA;AAEY,UAAI,QAAJ;AACA,UAAI,YAAY,GAAG,IAAI,CAAC,KAAL,EAAnB;;AAEA,UAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,YAArB,CAAvB,EAA2D;AACvD,QAAA,QAAQ,GAAG,KAAK,CAAC,YAAD,CAAhB;AACH,OAFD,MAEO,IAAI,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAJ,EAAsC;AACzC,QAAA,QAAQ,GAAG,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAX;AACH,OAFM,MAEA,IAAI,QAAO,MAAP,yCAAO,MAAP,OAAkB,QAAlB,IAA8B,MAAM,CAAC,cAAP,CAAsB,YAAtB,CAAlC,EAAuE;AAC1E,QAAA,QAAQ,GAAG,MAAM,CAAC,YAAD,CAAjB;AACH;;AACD,sCAAiB,QAAjB;AAEA,MAAA,IAAI,CAAC,OAAL,CAAa,KAAb;AACA,aAAO,QAAQ,MAAR,4BAAY,IAAZ,EAAP;;AAEJ,SAAM,OAAN;AACA,SAAM,WAAN;AACI,oCAAe,KAAf;AACA,UAAI,GAAG,GAAG,IAAI,SAAJ,GAAgB,eAAhB,CAAgC,KAAhC,EAAuC,WAAvC,CAAV;AACA,aAAO,GAAG,CAAC,IAAJ,CAAS,WAAT,IAAwB,EAA/B;;AAEJ,SAAM,IAAN;AACA,SAAM,GAAN;AAEI,uCAAkB,KAAlB;AAEA,UAAI,aAAa,GAAI,IAAI,CAAC,KAAL,MAAgB,SAArC;AACA,UAAI,cAAc,GAAI,IAAI,CAAC,KAAL,MAAgB,SAAtC;;AAEA,UAAI,aAAa,KAAK,OAAtB,EAA+B;AAC3B,QAAA,aAAa,GAAG,KAAhB;AACH;;AACD,UAAI,aAAa,KAAK,SAAtB,EAAiC;AAC7B,QAAA,aAAa,GAAG,OAAhB;AACH;;AACD,UAAI,cAAc,KAAK,OAAvB,EAAgC;AAC5B,QAAA,cAAc,GAAG,KAAjB;AACH;;AACD,UAAI,cAAc,KAAK,SAAvB,EAAkC;AAC9B,QAAA,cAAc,GAAG,OAAjB;AACH;;AAED,UAAI,SAAS,GAAK,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,EAAjC,IAAuC,KAAK,KAAK,KAAjD,IAA0D,KAAK,KAAK,OAApE,IAA+E,KAAK,KAAK,KAA1F,IAAoG,KAAK,KAAK,IAA9G,IAAsH,KAAK,KAAK,MAAhI,IAA0I,KAAK,KAAK,IAArK;AACA,aAAO,SAAS,GAAG,aAAH,GAAmB,cAAnC;;AAGJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,UAAI,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,EAAgB,WAAhB,EAAhB;AACA,aAAO,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAnB;;AACJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,aAAO,KAAK,CAAC,OAAN,CAAc,gDAAd,EAAgE,UAAU,CAAV,EAAa;AAChF,eAAO,CAAC,CAAC,WAAF,EAAP;AACH,OAFM,CAAP;;AAIJ,SAAM,OAAN;AACA,SAAM,QAAN;AAEI,UAAI,CAAC,kBAAS,KAAT,KAAmB,kBAAS,KAAT,CAAnB,IAAsC,iBAAQ,KAAR,CAAvC,KAA0D,KAAK,CAAC,cAAN,CAAqB,QAArB,CAA9D,EAA8F;AAC1F,eAAO,KAAK,CAAC,MAAb;AACH;;AAED,YAAM,IAAI,SAAJ,CAAc,kBAAd,CAAN;;AAEJ,SAAK,QAAL;AACI,MAAA,eAAe,CAAC,KAAD,CAAf;AACA,aAAO,IAAI,CAAC,KAAD,CAAX;;AAEJ,SAAK,OAAL;AACI,aAAO,EAAP;;AAEJ,SAAK,WAAL;AACI,aAAO,SAAP;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,MAAM,GAAG,KAAhB;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,KAAK,GAAG,MAAf;;AAEJ,SAAK,QAAL;AACI,aAAQ,IAAI,MAAJ,EAAD,CAAW,QAAX,EAAP;;AAEJ,SAAK,KAAL;AACA,SAAK,UAAL;AACA,SAAK,OAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,UAAI,YAAY,GAAI,IAAI,CAAC,KAAL,MAAgB,EAApC;;AAEA,UAAI,KAAK,YAAY,GAArB,EAA0B;AACtB,YAAG,CAAC,KAAK,CAAC,GAAN,CAAU,GAAV,CAAJ,EAAoB;AAChB,iBAAO,YAAP;AACH;;AACD,eAAO,KAAK,CAAC,GAAN,CAAU,GAAV,CAAP;AACH;;AAED,UAAI,kBAAS,KAAT,KAAiB,iBAAQ,KAAR,CAArB,EAAqC;AAEjC,YAAI,KAAJ,aAAI,KAAJ,eAAI,KAAK,CAAG,GAAH,CAAT,EAAkB;AACd,iBAAO,KAAP,aAAO,KAAP,uBAAO,KAAK,CAAG,GAAH,CAAZ;AACH;;AAED,eAAO,YAAP;AACH;;AAED,YAAM,IAAI,KAAJ,CAAU,oBAAV,CAAN;;AAEJ,SAAK,MAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,aAAO,IAAI,sBAAJ,CAAe,KAAf,EAAsB,MAAtB,CAA6B,GAA7B,CAAP;;AAGJ,SAAK,WAAL;AAEI,oCAAe,KAAf;AAEA,UAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAjC;AACA,UAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAtB,IAA2B,KAArC;AAEA,aAAO,KAAK,CAAC,SAAN,CAAgB,KAAhB,EAAuB,GAAvB,CAAP;;AAEJ,SAAK,KAAL;AACI,aAAO,KAAP;;AAEJ;AACI,YAAM,IAAI,KAAJ,CAAU,qBAAmB,KAAK,OAAlC,CAAN;AAtLR;;AAyLA,SAAO,KAAP;AACH;;;AC/aD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,eAAe,GAAG,eAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;IACM,S;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,UAAK,eAAL,GAAuB,eAAvB;AACA,oCAAiB,QAAjB,EAA2B,+BAAkB,kBAAlB,CAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,4BAAmB,MAAnB,EAA2B;AACvB,oCAAe,MAAf;AACA,WAAK,eAAL,GAAuB,MAAvB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,eAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gCAAuB,IAAvB,EAA6B;AAEzB,UAAI,IAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,IAAI,GAAG,IAAI,4BAAJ,CAAkB,EAAlB,CAAP;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,MAAlC,CAAyC,OAAO,CAAC,MAAR,EAAzC,EAA2D,OAA3D;AACA;AACH;;AAED,kBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,aAAzC,EAAwD,qBAAxD;;;ACvKA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAM,gBAAgB,GAAG,MAAM,CAAC,eAAD,CAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,M;;;;;AACF;AACJ;AACA;AACA;AACI,kBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;;AAEA,QAAI,IAAI,gCAAR;;AAEA,IAAA,IAAI,CAAC,EAAL,GAAU,IAAI,MAAJ,EAAV;AAEA,oCAAiB,IAAjB,EAAuB,4BAAvB;AAEA,UAAK,IAAL,GAAY,IAAZ;AAEA,UAAK,gBAAL,GAAwB,sBAAsB,CAAC,IAAvB,+BAAxB;AACA,UAAK,YAAL,GAAoB,kBAAkB,CAAC,IAAnB,+BAApB;;AACA,UAAK,IAAL,CAAU,cAAV,CAAyB,MAAK,YAA9B;;AAEA,UAAK,KAAL,GAAa,IAAI,OAAJ,EAAb;AACA,UAAK,OAAL,GAAe,IAAI,YAAJ,EAAf;AAhBc;AAkBjB;AAED;AACJ;AACA;;;;;WACI,kBAAS;AACL;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,CAAC,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AAED,WAAK,gBAAL,CAAsB,UAAtB,CAAiC,IAAjC;AAEA,aAAO,IAAI,CAAC,OAAL,CAAa,gBAAb,CAAP;AACA,MAAA,IAAI,CAAC,eAAL,CAAqB,6BAAkB,SAAvC;AAEA,aAAO,IAAP;AAEH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAJ,EAA0B;AACtB,eAAO,IAAP;AACH;;AAED,MAAA,IAAI,CAAC,OAAL,CAAa,gBAAb,IAAiC,IAAjC;AACA,MAAA,IAAI,CAAC,YAAL,CAAkB,6BAAkB,SAApC,EAA+C,IAA/C;AAEA,WAAK,gBAAL,CAAsB,OAAtB,CAA8B,IAA9B,EAAoC;AAChC,QAAA,UAAU,EAAE,IADoB;AAEhC,QAAA,SAAS,EAAE,IAFqB;AAGhC,QAAA,OAAO,EAAE,IAHuB;AAIhC,QAAA,aAAa,EAAE,IAJiB;AAKhC,QAAA,qBAAqB,EAAE,IALS;AAMhC,QAAA,iBAAiB,EAAE;AANa,OAApC;AASA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf;AAEA,aAAO,IAAP;AAEH;;;;EA3FgB,U;AA8FrB;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,kBAAT,GAA8B;AAC1B,MAAM,IAAI,GAAG,IAAb;AAEA,SAAO,IAAI,kBAAJ,CAAa,YAAM;AACtB,IAAA,IAAI,CAAC,MAAL;AACH,GAFM,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,sBAAT,GAAkC;AAE9B,MAAM,IAAI,GAAG,IAAb;AAEA;AACJ;AACA;AACA;;AACI,MAAM,gBAAgB,GAAG,+BAAkB,kBAAlB,CAAzB,CAR8B,CAU9B;;AACA,SAAO,IAAI,gBAAJ,CAAqB,UAAC,aAAD,EAAgB,QAAhB,EAA6B;AAAA,+CAE1B,aAF0B;AAAA;;AAAA;AAEjD,0DAAsC;AAAA,YAA3B,QAA2B;AAClC,QAAA,IAAI,CAAC,OAAL,CAAa,IAAb,CAAkB,QAAlB;AACH;AAJgD;AAAA;AAAA;AAAA;AAAA;;AAMjD,IAAA,IAAI,CAAC,MAAL;AACH,GAPE,CAAP;AAUH;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,iBAAT,CAA2B,IAA3B,EAAiC;AAAA;;AAC7B,kCAAiB,IAAjB,EAAuB,+BAAkB,MAAlB,CAAvB;AAEA,MAAI,MAAM,oBAAG,IAAI,CAAC,OAAR,kDAAG,cAAe,gBAAf,CAAb;;AACA,MAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,QAAI,UAAU,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,YAAH,CAArB;;AACA,QAAI,oBAAW,UAAX,EAAuB,+BAAkB,MAAlB,CAAvB,CAAJ,EAAuD;AACnD,aAAO,iBAAiB,CAAC,UAAD,CAAxB;AACH;AACJ;;AAED,SAAO,MAAP;AACH;;AAED,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,iBAAzC,EAA4D,MAA5D;;;ACjOA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;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;IACM,Q;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,QAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AACA,oCAAiB,QAAjB,EAA2B,mBAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,kCAAyB;AACrB,aAAO,KAAK,QAAL,CAAc,OAAd,CAAsB,SAAtB,CAAgC,IAAhC,CAAP;AACH;;;;EA9BkB,U;AAkCvB;AACA;AACA;AACA;AACA;AACA;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,oBAAT,CAA8B,EAA9B,EAAkC;AAC9B,gCAAe,EAAf;AACA,MAAM,QAAQ,GAAG,6BAAgB,UAAhB,CAAjB;AACA,MAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AAEA,MAAI,KAAK,GAAG,8BAAZ;AACA,MAAI,QAAQ,GAAG,EAAE,GAAG,GAAL,GAAW,KAAK,CAAC,OAAN,EAA1B;AAEA,MAAI,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,QAAxB,CAAf;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,EAAA,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,EAAxB,CAAX;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,QAAM,IAAI,KAAJ,CAAU,cAAc,EAAd,GAAmB,aAA7B,CAAN;AACH;;AAGD,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,QAAzC,EAAmD,oBAAnD;;;ACxHA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAM,aAAa,GAAG,SAAtB;AAEA;AACA;AACA;AACA;;AACA,IAAM,oBAAoB,GAAG,yBAA7B;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;;IACM,K;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,iBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,kCAAe,IAAf;AACA,UAAK,IAAL,GAAY,IAAZ;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;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,WAAK,WAAL,CAAiB,YAAjB;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;;;;AAGD;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS;AACL,WAAK,WAAL,CAAiB,WAAjB;AACA,aAAO,IAAP;AACH;;;;EA7IiB,U;;;;AAmJtB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,OAA7C;;;ACtLA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAEA;;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,c;;;;;AACF,4BAAc;AAAA;;AAAA;AAEb;;;EAHwB,U;;AAO7B,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,cAA7C;;;ACxCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,Q;;;;;AACF;AACJ;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAA+B;AAAA;;AAAA;;AAC3B;AACA,mCAAgB,QAAhB;AAEA,UAAK,QAAL,GAAgB,QAAhB;;AAJ2B,sCAAN,IAAM;AAAN,MAAA,IAAM;AAAA;;AAK3B,UAAK,SAAL,GAAiB,IAAjB;AAL2B;AAM9B;AAED;AACJ;AACA;AACA;;;;;WACI,uBAAc;AACV,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;;;;WACI,wBAAe;AACX,aAAO,KAAK,SAAZ;AACH;;;;EA5BkB,U;;;;AAgCvB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,QAA7C;;;AClEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAM,GAAG,GAAG,GAAZ;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,EAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,EAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,IAAI,GAAG,EAAb;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,IAAI,GAAG,CAAb;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,CAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,CAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,GAAG,GAAG,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;IACM,M;;;;;AAEF;AACJ;AACA;AACI,oBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,OAAL,GAAe,IAAI,GAAJ,EAAf;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,oBAAW,OAAX,EAAoB;AAChB,oCAAe,OAAf;;AACA,UAAI,EAAE,OAAO,YAAY,gBAArB,CAAJ,EAAmC;AAC/B,cAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACH;;AAED,WAAK,OAAL,CAAa,GAAb,CAAiB,OAAjB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAc,OAAd,EAAuB;AACnB,oCAAe,OAAf;;AACA,UAAI,EAAE,OAAO,YAAY,gBAArB,CAAJ,EAAmC;AAC/B,cAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACH;;AAED,WAAK,OAAL,WAAoB,OAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,IAAxB,oCAAiC,SAAjC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,IAAxB,oCAAiC,SAAjC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAGD;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,KAAT,EAAgB;AACZ,qCAAgB,KAAhB;AAEA,UAAI,KAAK,KAAK,GAAd,EAAmB,OAAO,KAAP;AACnB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,MAAP;AACpB,UAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,MAAP;AACpB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,GAAd,EAAmB,OAAO,KAAP;AAEnB,aAAO,SAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,KAAT,EAAgB;AACZ,oCAAe,KAAf;AAEA,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,GAAP;AACrB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,MAAd,EAAsB,OAAO,IAAP;AACtB,UAAI,KAAK,KAAK,MAAd,EAAsB,OAAO,IAAP;AACtB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,GAAP;AAErB,aAAO,CAAP;AACH;;;;EAxKgB,U;;;;AA6KrB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,MAA7C;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,CAAoB,QAApB,EAAuC;AACnC,MAAI,MAAM,GAAG,IAAb;;AADmC,oCAAN,IAAM;AAAN,IAAA,IAAM;AAAA;;AAAA,6CAGf,MAAM,CAAC,OAHQ;AAAA;;AAAA;AAGnC,wDAAoC;AAAA,UAA3B,OAA2B;AAChC,MAAA,OAAO,CAAC,GAAR,CAAY,IAAI,kBAAJ,CAAa,QAAb,EAAuB,IAAvB,CAAZ;AACH;AALkC;AAAA;AAAA;AAAA;AAAA;;AAOnC,SAAO,MAAP;AAEH;;;ACvRD;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;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,SAAS,MAAT,CAAgB,GAAhB,EAAqB,GAArB,EAA0B;AAEtB,MAAI,GAAG,KAAK,SAAZ,EAAuB;AACnB,IAAA,GAAG,GAAG,CAAN;AACH;;AACD,MAAI,GAAG,KAAK,SAAZ,EAAuB;AACnB,IAAA,GAAG,GAAG,GAAN;AACH;;AAED,MAAI,GAAG,GAAG,GAAV,EAAe;AACX,UAAM,IAAI,KAAJ,CAAU,8BAAV,CAAN;AACH;;AAED,SAAO,IAAI,CAAC,KAAL,CAAW,MAAM,CAAC,GAAD,EAAM,GAAN,CAAjB,CAAP;AAEH;AAED;AACA;AACA;AACA;;;AACA,IAAI,GAAG,GAAG,UAAV;;AAGA,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,IAAa,UAAU,CAAV,EAAa;AAClC,SAAO,IAAI,CAAC,GAAL,CAAS,CAAT,IAAc,IAAI,CAAC,GAAL,CAAS,CAAT,CAArB;AACH,CAFD;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,GAAhB,EAAqB,GAArB,EAA0B;AACtB,MAAI,KAAJ;AACA,MAAI,eAAe,GAAG,wBAAtB;AAEA,EAAA,KAAK,GAAG,CAAA,eAAe,SAAf,IAAA,eAAe,WAAf,YAAA,eAAe,CAAG,QAAH,CAAf,MAA+B,eAA/B,aAA+B,eAA/B,uBAA+B,eAAe,CAAG,UAAH,CAA9C,MAAgE,eAAhE,aAAgE,eAAhE,uBAAgE,eAAe,CAAG,QAAH,CAA/E,KAA+F,SAAvG;;AAEA,MAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,eAAV,CAAN;AACH;;AAED,MAAI,IAAI,GAAG,CAAX;AACA,MAAM,KAAK,GAAG,GAAG,GAAG,GAApB;;AACA,MAAI,KAAK,GAAG,CAAZ,EAAe;AACX,WAAO,GAAP;AACH;;AAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAL,CAAU,IAAI,CAAC,IAAL,CAAU,KAAV,CAAV,CAAnB;;AACA,MAAI,UAAU,GAAG,EAAjB,EAAqB;AACjB,UAAO,IAAI,KAAJ,CAAU,iDAAV,CAAP;AACH;;AACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAL,CAAU,UAAU,GAAG,CAAvB,CAApB;AACA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,UAAZ,IAA0B,CAAvC;AAEA,MAAM,SAAS,GAAG,IAAI,UAAJ,CAAe,WAAf,CAAlB;AACA,EAAA,KAAK,CAAC,eAAN,CAAsB,SAAtB;AAEA,MAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAf,IAAoB,CAA5B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,CAAC,EAAlC,EAAsC;AAClC,IAAA,IAAI,IAAI,SAAS,CAAC,CAAD,CAAT,GAAe,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,CAAZ,CAAvB;AACA,IAAA,CAAC,IAAI,CAAL;AACH;;AAED,EAAA,IAAI,GAAG,IAAI,GAAG,IAAd;;AAEA,MAAI,IAAI,IAAI,KAAZ,EAAmB;AACf,WAAO,MAAM,CAAC,GAAD,EAAM,GAAN,CAAb;AACH;;AAED,SAAO,GAAG,GAAG,IAAb;AAEH;;AAED,gBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,MAA1C;;;ACpHA;AACA;AACA;AACA;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;;AAGA,mBAAQ,IAAR,CAAa,UAAb,CAAwB,kBAAxB;;AAGA,IAAI,QAAJ;;AACA,IAAI;AACA,EAAA,QAAQ,GAAG,mBAAQ,KAAR,CAAc,eAAd,CAA8B,qBAA9B,CAAX;AACH,CAFD,CAEE,OAAO,CAAP,EAAU,CAEX;;AAED,IAAI,CAAC,QAAL,EAAe,QAAQ,GAAG,SAAX;AAEf,mBAAQ,KAAR,CAAc,SAAd,GAA0B,QAA1B,IAAsC,kBAAtC;;;AC/DA;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;IACM,S;AAEF;AACJ;AACA;AACA;AACA;AACI,qBAAY,SAAZ,EAAuB;AAAA;;AACnB,QAAI,SAAS,KAAK,SAAd,IAA2B,OAAO,SAAP,KAAqB,QAApD,EAA8D;AAC1D,YAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AACD,SAAK,SAAL,GAAiB,SAAjB;AACH;AAED;AACJ;AACA;AACA;;;;;WACI,wBAAe;AACX,aAAO,KAAK,SAAZ;AACH;AAED;AACJ;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,KAAK,YAAL,EAAP;AACH;;;;;AAGL;AACA;AACA;AACA;;;AACO,IAAM,OAAO,GAAG,IAAI,SAAJ,CAAc,SAAd,CAAhB;AAGP;AACA;AACA;;;AACA,iBAAiB,CAAC,SAAD,EAAY,iBAAZ,CAAjB;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,SAAS,iBAAT,CAA2B,EAA3B,EAAuC;AACnC,MAAI,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,KAAH,CAAS,GAAT,CAAD,CAA1B;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAR,EAAW,CAAC,mDAAjB,EAAgC,CAAC,GAAG,CAApC,EAAuC,CAAC,EAAxC,EAA4C;AACxC,IAAA,OAAO,CAAC,UAAU,CAAK,CAAL,gCAAK,CAAL,6BAAK,CAAL,MAAX,CAAP,GAAkC,CAAlC,gCAAkC,CAAlC,6BAAkC,CAAlC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,EAApB,EAAwB;AACpB,MAAI;AAEA,QAAI,OAAO,EAAP,KAAc,UAAlB,EAA8B;AAC1B,YAAO,IAAI,KAAJ,CAAU,gDAAV,CAAP;AACH;;AAED,QAAI,EAAE,CAAC,cAAH,CAAkB,MAAlB,CAAJ,EAA+B;AAC3B,aAAO,EAAE,CAAC,IAAV;AACH;;AAED,QAAI,eAAe,OAAO,EAAE,CAAC,QAA7B,EAAuC;AACnC,UAAI,CAAC,GAAG,EAAE,CAAC,QAAH,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,KAAF,CAAQ,0BAAR,CAAR;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,CAAd,KAAoB,OAAO,CAAC,CAAC,CAAD,CAAR,KAAgB,QAAxC,EAAkD;AAC9C,eAAO,CAAC,CAAC,CAAD,CAAR;AACH;;AACD,UAAI,CAAC,GAAG,CAAC,CAAC,KAAF,CAAQ,uBAAR,CAAR;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,CAAd,KAAoB,OAAO,CAAC,CAAC,CAAD,CAAR,KAAgB,QAAxC,EAAkD;AAC9C,eAAO,CAAC,CAAC,CAAD,CAAR;AACH;AACJ;AAEJ,GAtBD,CAsBE,OAAO,CAAP,EAAU;AACR,UAAM,IAAI,KAAJ,CAAU,eAAe,CAAzB,CAAN;AACH;;AAED,QAAO,IAAI,KAAJ,CAAU,uDAAV,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,YAAT,CAAsB,KAAtB,EAA6B;AACzB,MAAI,KAAK,GAAG,OAAZ;AAAA,MAAqB,EAAE,GAAG,SAA1B;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AAEnC,QAAI,cAAc,KAAK,CAAC,CAAD,CAAvB,EAA4B;AACxB;AACH;;AAED,IAAA,EAAE,IAAI,MAAM,KAAK,CAAC,CAAD,CAAjB;;AAEA,QAAI,CAAC,KAAK,CAAC,cAAN,CAAqB,KAAK,CAAC,CAAD,CAA1B,CAAL,EAAqC;AACjC,MAAA,KAAK,CAAC,KAAK,CAAC,CAAD,CAAN,CAAL,GAAkB,IAAI,SAAJ,CAAc,EAAd,CAAlB;AACH;;AAED,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAD,CAAN,CAAb;AACH;;AAED,SAAO,KAAP;AACH;;;AC3JD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IACM,I;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACI,wBAAW;AACP,aAAO,IAAI,CAAC,SAAL,CAAe,IAAf,CAAP;AACH;;;;iCARc,M;;;;AAanB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,IAA3C;;;ACnDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAJ;AAEA;AACA;AACA;;AACC,aAAY;AACT,MAAI,QAAO,UAAP,yCAAO,UAAP,OAAsB,QAA1B,EAAoC;AAChC,IAAA,eAAe,GAAG,UAAlB;AACA;AACH;;AAED,EAAA,MAAM,CAAC,cAAP,CAAsB,MAAM,CAAC,SAA7B,EAAwC,aAAxC,EAAuD;AACnD,IAAA,GAAG,EAAE,eAAY;AACb,aAAO,IAAP;AACH,KAHkD;AAInD,IAAA,YAAY,EAAE;AAJqC,GAAvD;AAOA,EAAA,WAAW,CAAC,UAAZ,GAAyB,WAAzB;AACA,SAAO,MAAM,CAAC,SAAP,CAAiB,WAAxB;AAEA,EAAA,eAAe,GAAG,UAAlB;AAEH,CAlBA,GAAD;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AACjB,SAAO,eAAP;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,eAAT,CAAyB,IAAzB,EAA+B;AAAA;;AAC3B,gCAAe,IAAf;AACA,MAAI,CAAC,uBAAG,eAAH,qDAAG,iBAAkB,IAAlB,CAAR;AACA,MAAI,OAAO,CAAP,KAAa,WAAjB,EAA8B,MAAM,IAAI,KAAJ,CAAU,gBAAgB,IAAhB,GAAuB,iBAAjC,CAAN;AAC9B,gCAAe,CAAf;AACA,SAAO,CAAP;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,iBAAT,CAA2B,IAA3B,EAAiC;AAAA;;AAC7B,gCAAe,IAAf;AACA,MAAI,CAAC,wBAAG,eAAH,sDAAG,kBAAkB,IAAlB,CAAR;AACA,MAAI,OAAO,CAAP,KAAa,WAAjB,EAA8B,MAAM,IAAI,KAAJ,CAAU,kBAAkB,IAAlB,GAAyB,iBAAnC,CAAN;AAC9B,kCAAiB,CAAjB;AACA,SAAO,CAAP;AACH;;AAGD,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,SAA3C,EAAsD,eAAtD,EAAuE,iBAAvE;;;AC9HA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,IAAI,GAAJ,EAAtB;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;;IACM,E;;;;;AAEF;AACJ;AACA;AACI,cAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;;AAEA,QAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,MAAA,MAAM,GAAG,IAAT;AACH;;AAED,kCAAe,MAAf;;AAEA,QAAI,CAAC,eAAe,CAAC,GAAhB,CAAoB,MAApB,CAAL,EAAkC;AAC9B,MAAA,eAAe,CAAC,GAAhB,CAAoB,MAApB,EAA4B,CAA5B;AACH;;AAED,QAAI,KAAK,GAAG,eAAe,CAAC,GAAhB,CAAoB,MAApB,CAAZ;AACA,UAAK,EAAL,GAAU,MAAM,GAAG,KAAnB;AAEA,IAAA,eAAe,CAAC,GAAhB,CAAoB,MAApB,EAA4B,EAAE,KAA9B;AAhBgB;AAiBnB;AAED;AACJ;AACA;;;;;WACI,oBAAW;AACP,aAAO,KAAK,EAAZ;AACH;;;;EA7BY,U;;;;AAiCjB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,EAA3C;;;AC/EA;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,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;AAChC,YAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;;AAP2B,sCAAN,IAAM;AAAN,MAAA,IAAM;AAAA;;AAQ3B,UAAK,SAAL,GAAiB,IAAjB;AACA,UAAK,IAAL,GAAY,IAAI,oBAAJ,EAAZ;AACA,UAAK,KAAL,GAAa,IAAI,wBAAJ,EAAb;AAV2B;AAW9B;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,gBAAO,GAAP,EAAY;AACR,WAAK,IAAL,CAAU,GAAV,CAAc,GAAd;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,mBAAU,GAAV,EAAe;AACX,WAAK,IAAL,CAAU,MAAV,CAAiB,GAAjB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAL,CAAU,OAAV,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,GAAP,EAAY;AACR,aAAO,KAAK,IAAL,CAAU,QAAV,CAAmB,GAAnB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,OAAP,EAAgB;AACZ,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAC,kBAAS,OAAT,CAAL,EAAwB;AACpB,UAAA,MAAM,CAAC,2BAAD,CAAN;AACA;AACH;;AAED,QAAA,IAAI,CAAC,KAAL,CAAW,GAAX,CAAe,OAAf;AAEA,QAAA,UAAU,CAAC,YAAM;AAEb;AACA;AACA,cAAI,IAAI,CAAC,KAAL,CAAW,OAAX,EAAJ,EAA0B;AACtB,YAAA,OAAO;AACP;AACH;;AAED,cAAI,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,IAAX,EAAR;AACA,cAAI,MAAM,GAAG,IAAI,CAAC,QAAL,CAAc,KAAd,CAAoB,CAApB,EAAuB,IAAI,CAAC,SAA5B,CAAb;;AAEA,cAAI,kBAAS,MAAT,KAAoB,MAAM,YAAY,OAA1C,EAAmD;AAC/C,YAAA,MAAM,CAAC,IAAP,CAAY,OAAZ,WAA2B,MAA3B;AACA;AACH;;AAED,UAAA,OAAO,CAAC,MAAD,CAAP;AACH,SAlBS,EAkBP,CAlBO,CAAV;AAoBH,OA5BM,CAAP;AA8BH;;;;EA/FkB,U;;;;AAmGvB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,QAA3C;;;AC9KA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,Y;;;;;AAEF;AACJ;AACA;AACI,0BAAc;AAAA;;AAAA;;AACV;AACA,UAAK,SAAL,GAAiB,EAAjB;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,gBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,WAAK,SAAL,CAAe,IAAf,CAAoB,QAApB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,oBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,eAAK,SAAL,CAAe,MAAf,CAAsB,CAAtB,EAAyB,CAAzB;AACH;AACJ;;AAED,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,QAAT,EAAmB;AACf,sCAAiB,QAAjB,EAA2B,kBAA3B;AACA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,KAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACI,oBAAO,OAAP,EAAgB;AAEZ,UAAI,OAAO,GAAG,EAAd;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,QAAA,OAAO,CAAC,IAAR,CAAa,KAAK,SAAL,CAAe,CAAf,EAAkB,MAAlB,CAAyB,OAAzB,CAAb;AACH;;AAED,aAAO,OAAO,CAAC,GAAR,CAAY,OAAZ,CAAP;AACH;;;;EA1EsB,U;;;;AA8E3B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,YAA3C;;;ACpHA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;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;IACM,a;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,yBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,kCAAe,MAAf;AACA,UAAK,WAAL,GAAmB,MAAnB;AACA,UAAK,OAAL,GAAe,IAAI,KAAJ,CAAU,MAAV,EAAkB,UAAU,CAAC,IAAX,+BAAlB,CAAf;AAEA,UAAK,SAAL,GAAiB,IAAI,OAAJ,EAAjB;;AACA,UAAK,SAAL,CAAe,GAAf,CAAmB,MAAK,WAAxB,EAAqC,MAAK,OAA1C;;AAEA,UAAK,SAAL,GAAiB,IAAI,0BAAJ,EAAjB;AATgB;AAUnB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,sBAAa;AACT,aAAO,KAAK,OAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,0BAAiB;AACb,aAAO,KAAK,WAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkB;AACd,WAAK,SAAL,CAAe,MAAf,CAAsB,IAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,0BAAiB,QAAjB,EAA2B;AACvB,aAAO,KAAK,SAAL,CAAe,QAAf,CAAwB,QAAxB,CAAP;AACH;;;;EA7EuB,U;;;;AAiF5B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,aAA3C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,GAAsB;AAElB,MAAM,KAAK,GAAG,IAAd,CAFkB,CAIlB;;AACA,MAAM,OAAO,GAAG;AAEZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,QAAvB,EAAiC;AAElC,UAAM,KAAK,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,QAAzB,CAAd;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,eAAO,KAAP;AACH;;AAED,UAAI,qBAAY,KAAZ,CAAJ,EAAwB;AACpB,eAAO,KAAP;AACH,OAViC,CAYlC;;;AACA,UAAK,iBAAQ,KAAR,KAAkB,kBAAS,KAAT,CAAvB,EAAyC;AACrC,YAAI,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAJ,EAAgC;AAC5B,iBAAO,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAP;AACH,SAFD,MAEO;AACH,cAAI,CAAC,GAAG,IAAI,KAAJ,CAAU,KAAV,EAAiB,OAAjB,CAAR;AACA,UAAA,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,EAA2B,CAA3B;AACA,iBAAO,CAAP;AACH;AAEJ;;AAED,aAAO,KAAP;AAEH,KA7BW;AA+BZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,KAAvB,EAA8B,QAA9B,EAAwC;AACzC,UAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,KAAzB,EAAgC,QAAhC,CAAf;;AACA,UAAI,QAAO,QAAP,yCAAO,QAAP,OAAoB,QAAxB,EAAkC;AAC9B,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH,KAvCW;AAyCZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,GAAG,IAAI,MAAX,EAAmB;AACf,eAAO,MAAM,CAAC,GAAD,CAAb;;AAEA,YAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,UAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,eAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACH,KAtDW;AAwDZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB,UAAvB,EAAmC;AAC/C,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,MAAvB,EAA+B,GAA/B,EAAoC,UAApC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,aAAO,MAAP;AACH,KAlEW;AAoEZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,OAAvB,EAAgC,GAAhC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH;AA7EW,GAAhB;AAkFA,SAAO,OAAP;AACH;;;;;;;;;;;;;;;;;;ACxPD;;;;;;;;;;;;;;;;;;;;;;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;AACA;AACA;AACA;AACA;AACA;;IACM,Q;;;;;AAEF;AACJ;AACA;AACI,sBAAc;AAAA;;AAAA;;AACV;AAEA,IAAA,eAAe,IAAI,CAAnB;AAEA,UAAK,EAAL,GAAU,yBAAY,IAAZ,CAAiB,oBAAO,CAAP,EAAU,KAAV,CAAjB,EACL,OADK,CACG,IADH,EACS,EADT;AAEN;AAFM,KAGL,OAHK,CAGG,SAHH,EAGc,GAHd,IAGqB,eAH/B;AALU;AASb;;;EAdkB,M;;;;AAkBvB,YAAQ,iBAAR,CAA0B,eAA1B,EAA2C,QAA3C;;;;;;;;;;;;;;;;;;ACzDA;;;;;;;;;;;;;;;;;;;;;;AAEA;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;AAAA;;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AAED,2BAAO,KAAK,IAAZ,+CAAO,WAAY,KAAK,IAAL,CAAU,MAAV,GAAmB,CAA/B,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,cAAK,KAAL,EAAY;AACR,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;AACA;;;;WACI,eAAM;AACF,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,aAAO,KAAK,IAAL,CAAU,GAAV,EAAP;AACH;;;;EAhEe,U;;;;AAqEpB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,KAA3C;;;AC9FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,S;;;;;AAEF;AACJ;AACA;AACA;AACI,qBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,UAAK,MAAL,GAAc,IAAI,GAAJ,EAAd;;AAEA,QAAI,OAAO,IAAP,KAAgB,WAApB,EAAiC;AAC7B,YAAK,GAAL,CAAS,IAAT;AACH;;AANa;AAQjB;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,uBAAc;AACV,aAAO,KAAK,MAAM,CAAC,QAAZ,GAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;SACK,MAAM,CAAC,Q;WAAR,iBAAoB;AAChB;AACA;AACA;AACA,UAAI,KAAK,GAAG,CAAZ;AACA,UAAI,OAAO,GAAG,KAAK,OAAL,EAAd;AAEA,aAAO;AACH,QAAA,IAAI,EAAE,gBAAM;AACR,cAAI,KAAK,GAAG,OAAO,CAAC,MAApB,EAA4B;AACxB,mBAAO;AAAC,cAAA,KAAK,EAAE,OAAF,aAAE,OAAF,uBAAE,OAAO,CAAG,KAAK,EAAR,CAAf;AAA4B,cAAA,IAAI,EAAE;AAAlC,aAAP;AACH,WAFD,MAEO;AACH,mBAAO;AAAC,cAAA,IAAI,EAAE;AAAP,aAAP;AACH;AACJ;AAPE,OAAP;AASH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS,KAAT,EAAgB;AAAA;;AACZ,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,GAAG,KAAK,CAAC,IAAN,EAAR;AACA,YAAI,OAAO,GAAG,CAAd;AACA,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,cAAI,MAAI,CAAC,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB,MAAkC,KAAtC,EAA6C,OAAO,KAAP;AAC7C,UAAA,OAAO;AACV,SAHD;AAIA,eAAO,OAAO,GAAG,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;;AAED,UAAI,oBAAW,KAAX,CAAJ,EAAuB;AACnB,YAAI,QAAO,GAAG,CAAd;;AADmB,mDAED,KAFC;AAAA;;AAAA;AAEnB,8DAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,gBAAI,KAAK,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB,MAAkC,KAAtC,EAA6C,OAAO,KAAP;AAC7C,YAAA,QAAO;AACV;AANkB;AAAA;AAAA;AAAA;AAAA;;AAOnB,eAAO,QAAO,GAAG,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;;AAED,aAAO,KAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AAAA;;AACP,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,MAAI,CAAC,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,iBAAK,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB;AACH;AAJyB;AAAA;AAAA;AAAA;AAAA;AAK7B,OALM,MAKA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ,WAAK,MAAL,CAAY,KAAZ;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,KAAP,EAAc;AAAA;;AACV,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,MAAI,CAAC,MAAL,WAAmB,KAAK,CAAC,IAAN,EAAnB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,iBAAK,MAAL,WAAmB,KAAK,CAAC,IAAN,EAAnB;AACH;AAJyB;AAAA;AAAA;AAAA;AAAA;AAK7B,OALM,MAKA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,iBAAQ,KAAR,EAAe,QAAf,EAAyB;AACrB,oCAAe,KAAf;AACA,oCAAe,QAAf;;AACA,UAAI,CAAC,KAAK,QAAL,CAAc,KAAd,CAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AAED,UAAI,CAAC,GAAG,KAAK,CAAC,IAAN,CAAW,KAAK,MAAhB,CAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,OAAF,CAAU,KAAV,CAAR;AACA,UAAI,CAAC,KAAK,CAAC,CAAX,EAAc,OAAO,IAAP;AAEd,MAAA,CAAC,CAAC,MAAF,CAAS,CAAT,EAAY,CAAZ,EAAe,QAAf;AACA,WAAK,MAAL,GAAc,IAAI,GAAJ,EAAd;AACA,WAAK,GAAL,CAAS,CAAT;AAEA,aAAO,IAAP;AAGH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,KAAP,EAAc;AAAA;;AAEV,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,WAAW,CAAC,IAAZ,CAAiB,MAAjB,EAAuB,KAAvB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,YAAA,WAAW,CAAC,IAAZ,CAAiB,IAAjB,EAAuB,KAAvB;AACH;AAHyB;AAAA;AAAA;AAAA;AAAA;AAI7B,OAJM,MAIA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AAEH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAK,CAAC,IAAN,CAAW,KAAK,MAAhB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,iBAAQ,QAAR,EAAkB;AACd,sCAAiB,QAAjB;AACA,WAAK,MAAL,CAAY,OAAZ,CAAoB,QAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,KAAK,OAAL,GAAe,IAAf,CAAoB,GAApB,CAAP;AACH;;;;EArPmB,U;AAyPxB;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,WAAT,CAAqB,KAArB,EAA4B;AACxB,MAAI,EAAE,gBAAgB,SAAlB,CAAJ,EAAkC,MAAM,KAAK,CAAC,oCAAD,CAAX;AAClC,gCAAe,KAAf;AACA,EAAA,KAAK,GAAG,KAAK,CAAC,IAAN,EAAR;;AACA,MAAI,KAAK,QAAL,CAAc,KAAd,CAAJ,EAA0B;AACtB,SAAK,MAAL,CAAY,KAAZ;AACA,WAAO,IAAP;AACH;;AACD,OAAK,GAAL,CAAS,KAAT;AACA,SAAO,IAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,SAA3C;;;;;;;;;;;;;;;;;;ACzTA;;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,W;;;;;AAEF;AACJ;AACA;AACI,yBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,MAAL,GAAc,IAAI,OAAJ,EAAd;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;AAEP,oCAAe,KAAf;;AAEA,UAAI,CAAC,KAAK,MAAL,CAAY,GAAZ,CAAgB,KAAhB,CAAL,EAA6B;AACzB,aAAK,MAAL,CAAY,GAAZ,CAAgB,KAAhB;;AACA,6EAAU,KAAV;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ;;AACA,WAAK,MAAL,GAAc,IAAI,OAAJ,EAAd;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gBAAO;AAEH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,UAAI,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;;;AACA,SAAS,cAAT,CAAwB,KAAxB,EAA+B;AAC3B,MAAI,CAAC,kBAAS,KAAT,CAAL,EAAsB;AAClB,UAAM,IAAI,SAAJ,CAAc,uBAAd,CAAN;AACH;AACJ;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;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,SAAS,gBAAT,CAA0B,KAA1B,EAAiC,QAAjC,EAA2C;AACvC,MAAI,CAAC,oBAAW,KAAX,EAAkB,QAAlB,CAAL,EAAkC;AAC9B,QAAI,CAAC,GAAG,EAAR;;AACA,QAAI,kBAAS,QAAT,KAAsB,oBAAW,QAAX,CAA1B,EAAgD;AAC5C,MAAA,CAAC,GAAG,QAAH,aAAG,QAAH,uBAAG,QAAQ,CAAG,MAAH,CAAZ;AACH;;AAED,QAAI,CAAJ,EAAO;AACH,MAAA,CAAC,GAAG,MAAM,CAAV;AACH;;AAED,UAAM,IAAI,SAAJ,CAAc,gCAAgC,CAA9C,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,SAAS,aAAT,CAAuB,KAAvB,EAA8B;AAC1B,MAAI,CAAC,iBAAQ,KAAR,CAAL,EAAqB;AACjB,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,SAAS,gBAAT,CAA0B,KAA1B,EAAiC;AAC7B,MAAI,CAAC,oBAAW,KAAX,CAAL,EAAwB;AACpB,UAAM,IAAI,SAAJ,CAAc,yBAAd,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,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,yBAAd,CAAN;AACH;AACJ;;AAED,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,iBAA3C,EAA8D,eAA9D,EAA+E,cAA/E,EAA+F,cAA/F,EAA+G,aAA/G,EAA8H,gBAA9H,EAAgJ,gBAAhJ,EAAkK,eAAlK;;;AClXA;;;;;;;;;;;;;;;;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;AACA;AACA;AACA;AACI,mBAAY,KAAZ,EAAmB,KAAnB,EAA0B,KAA1B,EAAiC;AAAA;;AAAA;;AAC7B;;AAEA,QAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,KAAK,SAAvC,IAAoD,KAAK,KAAK,SAAlE,EAA6E;AAEzE,UAAI,KAAK,GAAG,KAAK,CAAC,QAAN,GAAiB,KAAjB,CAAuB,GAAvB,CAAZ;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,YAAO,IAAI,KAAJ,CAAU,4BAAV,CAAP;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,MAAA,KAAK,GAAG,CAAR;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,MAAA,KAAK,GAAG,CAAR;AACH;;AAED,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;AACA,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;AACA,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;;AAEA,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AArC4B;AAuChC;AAED;AACJ;AACA;AACA;;;;;WACI,oBAAW;AACP,aAAO,KAAK,KAAL,GAAa,GAAb,GAAmB,KAAK,KAAxB,GAAgC,GAAhC,GAAsC,KAAK,KAAlD;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,OAAV,EAAmB;AAEf,UAAI,OAAO,YAAY,OAAvB,EAAgC;AAC5B,QAAA,OAAO,GAAG,OAAO,CAAC,QAAR,EAAV;AACH;;AAED,UAAI,OAAO,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,cAAO,IAAI,KAAJ,CAAU,gBAAV,CAAP;AACH;;AAED,UAAI,OAAO,KAAK,KAAK,QAAL,EAAhB,EAAiC;AAC7B,eAAO,CAAP;AACH;;AAED,UAAI,CAAC,GAAG,CAAC,KAAK,KAAN,EAAa,KAAK,KAAlB,EAAyB,KAAK,KAA9B,CAAR;AACA,UAAI,CAAC,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAR;AACA,UAAI,GAAG,GAAG,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,MAAX,EAAmB,CAAC,CAAC,MAArB,CAAV;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,IAAI,CAA9B,EAAiC;AAC7B,YAAK,CAAC,CAAC,CAAD,CAAD,IAAQ,CAAC,CAAC,CAAC,CAAD,CAAV,IAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAnC,IAA0C,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvE,EAAgF;AAC5E,iBAAO,CAAP;AACH,SAFD,MAEO,IAAK,CAAC,CAAC,CAAD,CAAD,IAAQ,CAAC,CAAC,CAAC,CAAD,CAAV,IAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAnC,IAA0C,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvE,EAAgF;AACnF,iBAAO,CAAC,CAAR;AACH;AACJ;;AAED,aAAO,CAAP;AACH;;;;EA9FiB,U;;;;AAkGtB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,OAA3C;;AAGA,IAAI,cAAJ;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,SAAS,UAAT,GAAsB;AAClB,MAAI,cAAc,YAAY,OAA9B,EAAuC;AACnC,WAAO,cAAP;AACH;AACD;;;AACA,EAAA,cAAc,GAAG,IAAI,OAAJ,CAAY,OAAZ,CAAjB;AACA;;AACA,SAAO,cAAP;AAEH;;AAED,mBAAQ,iBAAR,CAA0B,SAA1B,EAAqC,UAArC;;;ACzLA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;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,SAAS,KAAT,CAAe,GAAf,EAAoB;AAEhB;AACA,MAAI,SAAS,GAAb,EAAkB;AACd,WAAO,GAAP;AACH,GALe,CAOhB;;;AACA,MAAI,qBAAY,GAAZ,CAAJ,EAAsB;AAClB,WAAO,GAAP;AACH,GAVe,CAYhB;;;AACA,MAAI,oBAAW,GAAX,CAAJ,EAAqB;AACjB,WAAO,GAAP;AACH,GAfe,CAiBhB;;;AACA,MAAI,iBAAQ,GAAR,CAAJ,EAAkB;AACd,QAAI,IAAI,GAAG,EAAX;;AACA,SAAK,IAAI,CAAC,GAAG,CAAR,EAAW,GAAG,GAAG,GAAG,CAAC,MAA1B,EAAkC,CAAC,GAAG,GAAtC,EAA2C,CAAC,EAA5C,EAAgD;AAC5C,MAAA,IAAI,CAAC,CAAD,CAAJ,GAAU,KAAK,CAAC,GAAG,CAAC,CAAD,CAAJ,CAAf;AACH;;AAED,WAAO,IAAP;AACH;;AAED,MAAI,kBAAS,GAAT,CAAJ,EAAmB;AAGf;AACA,QAAI,GAAG,YAAY,IAAnB,EAAyB;AACrB,UAAI,KAAI,GAAG,IAAI,IAAJ,EAAX;;AACA,MAAA,KAAI,CAAC,OAAL,CAAa,GAAG,CAAC,OAAJ,EAAb;;AACA,aAAO,KAAP;AACH;AAED;;;AACA,QAAI,OAAO,OAAP,KAAmB,WAAnB,IAAkC,GAAG,YAAY,OAArD,EAA8D,OAAO,GAAP;AAC9D,QAAI,OAAO,YAAP,KAAwB,WAAxB,IAAuC,GAAG,YAAY,YAA1D,EAAwE,OAAO,GAAP;AACxE,QAAI,OAAO,gBAAP,KAA4B,WAA5B,IAA2C,GAAG,YAAY,gBAA9D,EAAgF,OAAO,GAAP;AAEhF;;AACA,QAAI,GAAG,KAAK,wBAAZ,EAAyB,OAAO,GAAP;AACzB,QAAI,OAAO,aAAP,KAAyB,WAAzB,IAAwC,GAAG,KAAK,aAApD,EAAmE,OAAO,GAAP;AACnE,QAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,GAAG,KAAK,MAA7C,EAAqD,OAAO,GAAP;AACrD,QAAI,OAAO,QAAP,KAAoB,WAApB,IAAmC,GAAG,KAAK,QAA/C,EAAyD,OAAO,GAAP;AACzD,QAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,GAAG,KAAK,SAAhD,EAA2D,OAAO,GAAP;AAC3D,QAAI,OAAO,IAAP,KAAgB,WAAhB,IAA+B,GAAG,KAAK,IAA3C,EAAiD,OAAO,GAAP,CArBlC,CAuBf;;AACA,QAAI;AACA;AACA,UAAI,GAAG,YAAY,KAAnB,EAA0B;AACtB,eAAO,GAAP;AACH;AACJ,KALD,CAKE,OAAO,CAAP,EAAU,CACX;;AAED,WAAO,WAAW,CAAC,GAAD,CAAlB;AAEH;;AAED,QAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,GAArB,EAA0B;AACtB,MAAI,IAAJ;AAEA;;AACA,MAAI,QAAO,GAAG,CAAC,cAAJ,CAAmB,UAAnB,CAAP,KAAyC,GAAG,CAAC,QAAJ,KAAiB,UAA9D,EAA0E;AACtE,WAAO,GAAG,CAAC,QAAJ,EAAP;AACH;;AAED,EAAA,IAAI,GAAG,EAAP;;AACA,MAAI,OAAO,GAAG,CAAC,WAAX,KAA2B,UAA3B,IACA,OAAO,GAAG,CAAC,WAAJ,CAAgB,IAAvB,KAAgC,UADpC,EACgD;AAC5C,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,WAAR,EAAP;AACH;;AAED,OAAK,IAAI,GAAT,IAAgB,GAAhB,EAAqB;AAEjB,QAAI,CAAC,GAAG,CAAC,cAAJ,CAAmB,GAAnB,CAAL,EAA8B;AAC1B;AACH;;AAED,QAAI,mBAAQ,KAAR,CAAc,WAAd,CAA0B,GAAG,CAAC,GAAD,CAA7B,CAAJ,EAAyC;AACrC,MAAA,IAAI,CAAC,GAAD,CAAJ,GAAY,GAAG,CAAC,GAAD,CAAf;AACA;AACH;;AAED,IAAA,IAAI,CAAC,GAAD,CAAJ,GAAY,KAAK,CAAC,GAAG,CAAC,GAAD,CAAJ,CAAjB;AACH;;AAED,SAAO,IAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,KAA1C;;;ACrJA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,sBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;;AAEA,QAAI,oBAAW,QAAX,CAAJ,EAA0B;AACtB,YAAK,OAAL,GAAe,QAAf;AACH,KAFD,MAEO,IAAI,QAAQ,KAAK,SAAjB,EAA4B;AAC/B,YAAM,IAAI,SAAJ,CAAc,kBAAd,CAAN;AACH,KAFM,MAEA;AACH;AACA,YAAK,OAAL,GAAe,UAAU,CAAV,EAAa,CAAb,EAAgB;AAE3B,YAAI,QAAO,CAAP,cAAoB,CAApB,CAAJ,EAA2B;AACvB,gBAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;;AAED,YAAI,CAAC,KAAK,CAAV,EAAa;AACT,iBAAO,CAAP;AACH;;AACD,eAAO,CAAC,GAAG,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAApB;AACH,OAVD;AAWH;;AApBiB;AAsBrB;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,mBAAU;AACN,UAAM,QAAQ,GAAG,KAAK,OAAtB;;AACA,WAAK,OAAL,GAAe,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,QAAQ,CAAC,CAAD,EAAI,CAAJ,CAAlB;AAAA,OAAf;;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,eAAM,CAAN,EAAS,CAAT,EAAY;AACR,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,MAAuB,CAA9B;AACH;AAGD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAY,CAAZ,EAAe,CAAf,EAAkB;AACd,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,IAAqB,CAA5B;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,4BAAmB,CAAnB,EAAsB,CAAtB,EAAyB;AACrB,aAAO,KAAK,WAAL,CAAiB,CAAjB,EAAoB,CAApB,KAA0B,KAAK,KAAL,CAAW,CAAX,EAAc,CAAd,CAAjC;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB,CAAhB,EAAmB,CAAnB,EAAsB;AAClB,aAAO,KAAK,QAAL,CAAc,CAAd,EAAiB,CAAjB,KAAuB,KAAK,KAAL,CAAW,CAAX,EAAc,CAAd,CAA9B;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS,CAAT,EAAY,CAAZ,EAAe;AACX,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,IAAqB,CAA5B;AACH;;;;EAvGoB,U;;;;AA4GzB,cAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C;;;AC1KA;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,SAAS,UAAT,CAAoB,MAApB,EAA4B;AAExB,gCAAe,MAAf,EAFwB,CAIxB;;AACA,MAAI,SAAS,GAAG,MAAM,CAAC,mBAAP,CAA2B,MAA3B,CAAhB,CALwB,CAOxB;;AAPwB,6CAQP,SARO;AAAA;;AAAA;AAQxB,wDAA4B;AAAA,UAAnB,IAAmB;AACxB,UAAI,KAAK,GAAG,MAAM,CAAC,IAAD,CAAlB;AAEA,MAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAK,IAAI,QAAO,KAAP,MAAiB,QAA1B,GACX,UAAU,CAAC,KAAD,CADC,GACS,KADxB;AAEH;AAbuB;AAAA;AAAA;AAAA;AAAA;;AAexB,SAAO,MAAM,CAAC,MAAP,CAAc,MAAd,CAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C",
+  "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,CAAzD;AACA,IAAA,IAAI,CAAC,IAAL,CAAU,CAAV;AACA,WAAO,IAAI,GAAJ,CAAQ,IAAI,CAAC,GAAL,CAAS,UAAC,CAAD,EAAI,CAAJ;AAAA,aAAU,CAAV;AAAA,KAAT,CAAR,CAAP;AACH;;AAED,SAAO,IAAI,GAAJ,CAAQ,MAAM,CAAC,IAAP,CAAY,CAAZ,EAAe,MAAf,CAAsB,MAAM,CAAC,IAAP,CAAY,CAAZ,CAAtB,CAAR,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,CAAhB,EAAmB,CAAnB,EAAsB,IAAtB,EAA4B,IAA5B,EAAkC;AAE9B,MAAI,KAAK,WAAU,CAAV,CAAT;;AACA,MAAI,KAAK,WAAU,CAAV,CAAT;;AAEA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAzB;AACA,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAzB;;AAEA,MAAI,KAAK,KAAK,KAAV,IAAmB,KAAK,KAAK,QAAjC,EAA2C;AAAE;AAEzC,IAAA,OAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,KAAP,CAAP,CAAqB,OAArB,CAA6B,UAAC,CAAD,EAAO;AAEhC,UAAI,CAAE,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,CAArC,EAAwC,CAAxC,CAAN,EAAmD;AAC/C,QAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,KAAb,EAAoB,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAApB,CAAzB;AACH,OAFD,MAEO,IAAI,CAAE,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,CAArC,EAAwC,CAAxC,CAAN,EAAmD;AACtD,QAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,QAAb,EAAuB,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAAvB,CAAzB;AACH,OAFM,MAEA;AACH,QAAA,MAAM,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,EAAa,QAAQ,CAAC,MAAT,CAAgB,CAAhB,CAAb,EAAiC,QAAjC,CAAN;AACH;AACJ,KATD;AAWH,GAbD,MAaO;AAEH,QAAM,CAAC,GAAG,WAAW,CAAC,CAAD,EAAI,CAAJ,EAAO,KAAP,EAAc,KAAd,CAArB;;AACA,QAAI,CAAC,KAAK,SAAV,EAAqB;AACjB,MAAA,QAAQ,CAAC,IAAT,CAAc,WAAW,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,IAAV,CAAzB;AACH;AAEJ;;AAED,SAAO,QAAP;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,CAArB,EAAwB,CAAxB,EAA2B,QAA3B,EAAqC,IAArC,EAA2C;AAEvC,MAAM,MAAM,GAAG;AACX,IAAA,QAAQ,EAAR,QADW;AAEX,IAAA,IAAI,EAAJ;AAFW,GAAf;;AAKA,MAAI,QAAQ,KAAK,KAAjB,EAAwB;AACpB,IAAA,MAAM,CAAC,KAAP,GAAe;AACX,MAAA,KAAK,EAAE,CADI;AAEX,MAAA,IAAI,UAAS,CAAT;AAFO,KAAf;;AAKA,QAAI,kBAAS,CAAT,CAAJ,EAAiB;AAAA;;AACb,UAAM,IAAI,4BAAG,MAAM,CAAC,cAAP,CAAsB,CAAtB,CAAH,oFAAG,sBAA0B,WAA7B,2DAAG,uBAAuC,IAApD;;AACA,UAAI,IAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,MAAM,CAAC,KAAP,CAAa,QAAb,GAAwB,IAAxB;AACH;AACJ;AACJ;;AAED,MAAI,QAAQ,KAAK,KAAb,IAAsB,QAAQ,KAAK,QAAvC,EAAiD;AAC7C,IAAA,MAAM,CAAC,MAAP,GAAgB;AACZ,MAAA,KAAK,EAAE,CADK;AAEZ,MAAA,IAAI,UAAS,CAAT;AAFQ,KAAhB;;AAKA,QAAI,kBAAS,CAAT,CAAJ,EAAiB;AAAA;;AACb,UAAM,KAAI,6BAAG,MAAM,CAAC,cAAP,CAAsB,CAAtB,CAAH,qFAAG,uBAA0B,WAA7B,2DAAG,uBAAuC,IAApD;;AACA,UAAI,KAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,MAAM,CAAC,MAAP,CAAc,QAAd,GAAyB,KAAzB;AACH;AACJ;AAEJ;;AAED,SAAO,MAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,CAApB,EAAuB,CAAvB,EAA0B;AAEtB,MAAI,QAAO,CAAP,cAAoB,CAApB,CAAJ,EAA2B;AACvB,WAAO,IAAP;AACH;;AAED,MAAI,CAAC,YAAY,IAAb,IAAqB,CAAC,YAAY,IAAtC,EAA4C;AACxC,WAAO,CAAC,CAAC,OAAF,OAAgB,CAAC,CAAC,OAAF,EAAvB;AACH;;AAED,SAAO,CAAC,KAAK,CAAb;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,CAArB,EAAwB,CAAxB,EAA2B;AAEvB;AACJ;AACA;AACI,MAAI,QAAJ;AAEA;AACJ;AACA;;AACI,MAAI,KAAK,WAAU,CAAV,CAAT;AAEA;AACJ;AACA;;;AACI,MAAI,KAAK,WAAU,CAAV,CAAT;;AAEA,MAAI,KAAK,KAAK,WAAV,IAAyB,KAAK,KAAK,WAAvC,EAAoD;AAChD,IAAA,QAAQ,GAAG,KAAX;AACH,GAFD,MAEO,IAAI,KAAK,KAAK,WAAV,IAAyB,KAAK,KAAK,WAAvC,EAAoD;AACvD,IAAA,QAAQ,GAAG,QAAX;AACH,GAFM,MAEA,IAAI,UAAU,CAAC,CAAD,EAAI,CAAJ,CAAd,EAAsB;AACzB,IAAA,QAAQ,GAAG,QAAX;AACH;;AAED,SAAO,QAAP;AAEH;;AAED,YAAQ,iBAAR,CAA0B,cAA1B,EAA0C,IAA1C;;;ACtPA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,SAAS,GAAG,GAAlB;AACA;AACA;AACA;AACA;;AACA,IAAM,QAAQ,GAAG,GAAjB;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;;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;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AACT,oCAAe,IAAf;;AACA,UAAI;AACA,QAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAAK,MAAhC,EAAwC,IAAxC,EAA8C,IAA9C;AACA,eAAO,IAAP;AACH,OAHD,CAGE,OAAO,CAAP,EAAU,CAEX;;AAED,aAAO,KAAP;AACH;;;;EA9FoB,U;;;;AAkGzB,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAT,CAAiB,OAAjB,EAA0B,IAA1B,EAAgC,KAAhC,EAAuC;AAEnC,MAAM,MAAM,GAAG,IAAI,GAAJ,EAAf;;AAEA,MAAI,kBAAS,OAAT,KAAqB,iBAAQ,OAAR,CAAzB,EAA2C;AACvC,uCAA2B,MAAM,CAAC,OAAP,CAAe,OAAf,CAA3B,qCAAoD;AAA/C;AAAA,UAAO,GAAP;AAAA,UAAY,KAAZ;;AACD,MAAA,MAAM,CAAC,GAAP,CAAW,GAAX,EAAgB,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,KAA3B,EAAkC,IAAlC,EAAwC,KAAxC,CAAhB;AACH;AACJ,GAJD,MAIO;AACH,QAAI,IAAG,GAAE,IAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,KAAtB,EAAT;;AACA,IAAA,MAAM,CAAC,GAAP,CAAW,IAAX,EAAgB,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,OAA3B,EAAoC,IAApC,EAA0C,KAA1C,CAAhB;AACH;;AAED,SAAO,MAAP;AAGH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,OAAzB,EAAkC,IAAlC,EAAwC,KAAxC,EAA+C;AAE3C,MAAI,IAAI,KAAK,EAAb,EAAiB;AACb,WAAO,OAAP;AACH;;AAED,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAZ;AACA,MAAI,OAAO,GAAG,KAAK,CAAC,KAAN,EAAd;;AAEA,MAAI,OAAO,KAAK,KAAK,QAArB,EAA+B;AAC3B,WAAO,OAAO,CAAC,IAAR,CAAa,IAAb,EAAmB,OAAnB,EAA4B,KAAK,CAAC,IAAN,CAAW,SAAX,CAA5B,EAAmD,KAAnD,CAAP;AACH;;AAED,MAAI,kBAAS,OAAT,KAAqB,iBAAQ,OAAR,CAAzB,EAA2C;AAEvC,QAAI,MAAJ;;AACA,QAAI,OAAO,YAAY,GAAnB,IAA0B,OAAO,YAAY,OAAjD,EAA0D;AACtD,MAAA,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,OAAZ,CAAT;AAEH,KAHD,MAGO,IAAI,OAAO,YAAY,GAAnB,IAA0B,OAAO,YAAY,OAAjD,EAA0D;AAAA;;AAC7D,MAAA,OAAO,GAAG,QAAQ,CAAC,OAAD,CAAlB;AACA,qCAAgB,OAAhB;AACA,MAAA,MAAM,8BAAO,OAAP,0CAAG,KAAe,OAAf,CAAT;AAEH,KALM,MAKA,IAAI,OAAO,YAAY,OAAvB,EAAgC;AACnC,YAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,KAHM,MAGA,IAAI,iBAAQ,OAAR,CAAJ,EAAsB;AACzB,MAAA,OAAO,GAAG,QAAQ,CAAC,OAAD,CAAlB;AACA,qCAAgB,OAAhB;AACA,MAAA,MAAM,GAAG,OAAH,aAAG,OAAH,uBAAG,OAAO,CAAG,OAAH,CAAhB;AACH,KAJM,MAIA;AACH,MAAA,MAAM,GAAG,OAAH,aAAG,OAAH,uBAAG,OAAO,CAAG,OAAH,CAAhB;AACH;;AAED,QAAI,kBAAS,MAAT,KAAoB,iBAAQ,MAAR,CAAxB,EAAyC;AACrC,aAAO,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,KAAK,CAAC,IAAN,CAAW,SAAX,CAAnC,EAA0D,KAA1D,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAN,GAAe,CAAnB,EAAsB;AAClB,YAAM,KAAK,CAAC,oCAAoC,KAAK,CAAC,IAAN,CAAW,SAAX,CAApC,GAA4D,GAA7D,CAAX;AACH;;AAED,QAAI,KAAK,KAAK,IAAV,IAAkB,CAAC,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAAvB,EAAwD;AACpD,YAAM,KAAK,CAAC,eAAD,CAAX;AACH;;AAED,WAAO,MAAP;AAEH;;AAED,QAAM,SAAS,CAAC,8BAA2B,OAA3B,CAAD,CAAf;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,MAAzB,EAAiC,IAAjC,EAAuC,KAAvC,EAA8C;AAE1C,gCAAe,IAAf;AAEA,MAAI,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAZ;AACA,MAAI,IAAI,GAAG,KAAK,CAAC,GAAN,EAAX;AACA,MAAI,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAd;AAEA,MAAI,KAAK,GAAG,IAAI,YAAJ,EAAZ;AACA,MAAI,OAAO,GAAG,OAAd;;AACA,SAAO,IAAP,EAAa;AAET,QAAI;AACA,MAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,EAA4C,IAA5C;AACA;AACH,KAHD,CAGE,OAAO,CAAP,EAAU,CAEX;;AAED,IAAA,KAAK,CAAC,IAAN,CAAW,OAAX;AACA,IAAA,KAAK,CAAC,GAAN;AACA,IAAA,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAV;AAEA,QAAI,OAAO,KAAK,EAAhB,EAAoB;AACvB;;AAED,SAAO,CAAC,KAAK,CAAC,OAAN,EAAR,EAAyB;AACrB,IAAA,OAAO,GAAG,KAAK,CAAC,GAAN,EAAV;AACA,QAAI,GAAG,GAAG,EAAV;;AAEA,QAAI,CAAC,KAAK,CAAC,OAAN,EAAL,EAAsB;AAClB,UAAI,CAAC,GAAG,KAAK,CAAC,IAAN,GAAa,KAAb,CAAmB,SAAnB,EAA8B,GAA9B,EAAR;;AACA,UAAI,mBAAU,QAAQ,CAAC,CAAD,CAAlB,CAAJ,EAA4B;AACxB,QAAA,GAAG,GAAG,EAAN;AACH;AAEJ;;AAED,IAAA,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,EAA4C,GAA5C;AACH;;AAED,MAAI,MAAM,GAAG,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,CAAb;;AAEA,MAAI,CAAC,kBAAS,MAAT,CAAD,IAAqB,CAAC,iBAAQ,MAAR,CAA1B,EAA2C;AACvC,UAAM,SAAS,CAAC,+BAA8B,MAA9B,CAAD,CAAf;AACH;;AAED,MAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA/C,EAAwD;AACpD,IAAA,MAAM,CAAC,GAAP,CAAW,IAAX,EAAiB,KAAjB;AACH,GAFD,MAEO,IAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA/C,EAAwD;AAC3D,IAAA,MAAM,CAAC,MAAP,CAAc,KAAd;AAEH,GAHM,MAGA,IAAI,MAAM,YAAY,OAAtB,EAA+B;AAClC,UAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,GAHM,MAGA,IAAI,iBAAQ,MAAR,CAAJ,EAAqB;AACxB,IAAA,IAAI,GAAG,QAAQ,CAAC,IAAD,CAAf;AACA,mCAAgB,IAAhB;AACA,IAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAf;AACH,GAJM,MAIA;AACH,IAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAf;AACH;;AAED;AAEH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,kBAAT,CAA4B,MAA5B,EAAoC,IAApC,EAA0C;AAEtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAL,CAAW,SAAX,CAAd;AACA,MAAI,IAAI,GAAG,KAAK,CAAC,GAAN,EAAX;AACA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAN,CAAW,SAAX,CAAhB;AAEA,MAAM,MAAM,GAAG,eAAe,CAAC,IAAhB,CAAqB,IAArB,EAA2B,MAA3B,EAAmC,OAAnC,CAAf;;AAEA,MAAI,MAAM,YAAY,GAAtB,EAA2B;AACvB,IAAA,MAAM,UAAN,CAAc,IAAd;AACH,GAFD,MAEO,IAAI,MAAM,YAAY,GAAlB,IAAyB,MAAM,YAAY,OAA3C,IAAsD,MAAM,YAAY,OAAxE,IAAmF,MAAM,YAAY,OAAzG,EAAkH;AACrH,UAAM,KAAK,CAAC,uCAAD,CAAX;AAEH,GAHM,MAGA,IAAI,iBAAQ,MAAR,CAAJ,EAAqB;AACxB,IAAA,IAAI,GAAG,QAAQ,CAAC,IAAD,CAAf;AACA,mCAAgB,IAAhB;AACA,WAAO,MAAM,CAAC,IAAD,CAAb;AACH,GAJM,MAIA;AACH,WAAO,MAAM,CAAC,IAAD,CAAb;AACH;;AAED;AAEH;;;ACzbD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,SAAS,GAAG,GAAlB;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,I;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,gBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,kCAAe,IAAf;AACA,UAAK,IAAL,GAAY,IAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,GAAtB,CAA0B,UAAC,CAAD,EAAO;AACzC,aAAO,IAAI,wBAAJ,CAAgB,CAAhB,CAAP;AACH,KAFW,CAAZ;AAHc;AAQjB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;;WACI,qBAAY,IAAZ,EAAkB,QAAlB,EAA4B;AAExB,yCAAkB,MAAM,CAAC,OAAP,CAAe,KAAK,IAApB,CAAlB,qCAA6C;AAAzC;AAAA,YAAQ,CAAR;;AACA,QAAA,CAAC,CAAC,WAAF,CAAc,IAAd,EAAoB,QAApB;AACH;;AAED,aAAO,IAAP,CANwB,CAQxB;AACA;AACA;AAGH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AACP,aAAO,KAAK,IAAL,CAAU,MAAV,CAAiB,UAAC,WAAD,EAAc,WAAd,EAA2B,YAA3B,EAAyC,KAAzC,EAAmD;AACvE,eAAO,WAAW,CAAC,GAAZ,CAAgB,WAAhB,CAAP;AACH,OAFM,EAEJ,KAFI,CAAP;AAGH;;;;EAlDc,U;;;;AAqDnB,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,IAA1C;;;ACjHA;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;;;;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,CAAb;;AAT0B,6CAWZ,MAXY;AAAA;;AAAA;AAW1B,wDAAsB;AAAA,UAAb,CAAa;AAClB,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,QAAH,CAAP;;AACA,UAAG,CAAC,kBAAS,CAAT,CAAJ,EAAiB;AACb;AACH;;AAED,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,SAAH,CAAP;AACA,UAAI,CAAC,GAAC,CAAD,aAAC,CAAD,uBAAC,CAAC,CAAG,MAAH,CAAP;;AAEA,UAAG,CAAC,IAAE,CAAN,EAAS;AACL,YAAI,CAAC,GAAC,OAAK,IAAI,MAAJ,GAAS,QAAT,EAAL,GAAyB,IAA/B;AACA,QAAA,WAAW,CAAC,GAAZ,CAAgB,CAAhB,EAAmB,CAAnB;AACA,QAAA,OAAO,GAAC,OAAO,CAAC,OAAR,CAAgB,CAAhB,EAAkB,CAAlB,CAAR;AACH;AAEJ;AA1ByB;AAAA;AAAA;AAAA;AAAA;;AA2B1B,MAAI,KAAK,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAZ;AAEA,EAAA,KAAK,GAAG,KAAK,CAAC,GAAN,CAAU,UAAU,KAAV,EAAiB;AAC/B,QAAI,CAAC,GAAI,KAAK,CAAC,IAAN,EAAT;;AAD+B,gDAElB,WAFkB;AAAA;;AAAA;AAE/B,6DAA0B;AAAA,YAAlB,CAAkB;AACvB,QAAA,CAAC,GAAE,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,CAAD,CAAX,EAAgB,CAAC,CAAC,CAAD,CAAjB,CAAH;AACF;AAJ8B;AAAA;AAAA;AAAA;AAAA;;AAK/B,WAAO,CAAP;AAGH,GARO,CAAR;AAUA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,eAAT,CAAyB,KAAzB,EAAgC;AAE5B,MAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,UAArB,CAAvB,EAAyD;AACrD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAN,EAAR;AACH;;AAED,gCAAe,KAAf;AACA,SAAO,KAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,CAAmB,KAAnB,EAA0B;AAEtB,MAAI,IAAI,GAAG,kBAAM,KAAK,IAAX,CAAX;AACA,MAAI,GAAJ;;AAEA,UAAQ,KAAK,OAAb;AAEI,SAAK,QAAL;AACI,aAAO,KAAK,IAAL,CAAU,IAAV,CAAe,GAAf,CAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,SAAL;AACA,SAAK,YAAL;AACA,SAAK,aAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,WAAN,EAAP;;AAEJ,SAAK,UAAL;AACI,aAAO,KAAK,KAAZ;;AAEJ,SAAK,WAAL;AACI,UAAI,CAAC,GAAG,QAAQ,CAAC,KAAD,CAAhB;AACA,qCAAgB,CAAhB;AACA,aAAO,CAAP;;AAEJ,SAAK,QAAL;AACI,aAAO,IAAI,CAAC,SAAL,CAAe,KAAf,CAAP;;AAEJ,SAAK,MAAL;AACI,oCAAe,KAAf;AACA,aAAO,KAAK,CAAC,IAAN,EAAP;;AAEJ,SAAK,cAAL;AACI,oCAAe,KAAf;AACA,aAAO,kBAAkB,CAAC,KAAD,CAAlB,CACF,OADE,CACM,IADN,EACY,KADZ,EAEF,OAFE,CAEM,IAFN,EAEY,KAFZ,EAGF,OAHE,CAGM,KAHN,EAGa,KAHb,EAIF,OAJE,CAIM,KAJN,EAIa,KAJb,EAKF,OALE,CAKM,KALN,EAKa,KALb,CAAP;;AAQJ,SAAM,MAAN;AAEI;AACZ;AACA;AACA;AACA;AACA;AAEY,UAAI,QAAJ;AACA,UAAI,YAAY,GAAG,IAAI,CAAC,KAAL,EAAnB;;AAEA,UAAI,kBAAS,KAAT,KAAmB,KAAK,CAAC,cAAN,CAAqB,YAArB,CAAvB,EAA2D;AACvD,QAAA,QAAQ,GAAG,KAAK,CAAC,YAAD,CAAhB;AACH,OAFD,MAEO,IAAI,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAJ,EAAsC;AACzC,QAAA,QAAQ,GAAG,KAAK,SAAL,CAAe,GAAf,CAAmB,YAAnB,CAAX;AACH,OAFM,MAEA,IAAI,QAAO,MAAP,yCAAO,MAAP,OAAkB,QAAlB,IAA8B,MAAM,CAAC,cAAP,CAAsB,YAAtB,CAAlC,EAAuE;AAC1E,QAAA,QAAQ,GAAG,MAAM,CAAC,YAAD,CAAjB;AACH;;AACD,sCAAiB,QAAjB;AAEA,MAAA,IAAI,CAAC,OAAL,CAAa,KAAb;AACA,aAAO,QAAQ,MAAR,4BAAY,IAAZ,EAAP;;AAEJ,SAAM,OAAN;AACA,SAAM,WAAN;AACI,oCAAe,KAAf;AACA,UAAI,GAAG,GAAG,IAAI,SAAJ,GAAgB,eAAhB,CAAgC,KAAhC,EAAuC,WAAvC,CAAV;AACA,aAAO,GAAG,CAAC,IAAJ,CAAS,WAAT,IAAwB,EAA/B;;AAEJ,SAAM,IAAN;AACA,SAAM,GAAN;AAEI,uCAAkB,KAAlB;AAEA,UAAI,aAAa,GAAI,IAAI,CAAC,KAAL,MAAgB,SAArC;AACA,UAAI,cAAc,GAAI,IAAI,CAAC,KAAL,MAAgB,SAAtC;;AAEA,UAAI,aAAa,KAAK,OAAtB,EAA+B;AAC3B,QAAA,aAAa,GAAG,KAAhB;AACH;;AACD,UAAI,aAAa,KAAK,SAAtB,EAAiC;AAC7B,QAAA,aAAa,GAAG,OAAhB;AACH;;AACD,UAAI,cAAc,KAAK,OAAvB,EAAgC;AAC5B,QAAA,cAAc,GAAG,KAAjB;AACH;;AACD,UAAI,cAAc,KAAK,SAAvB,EAAkC;AAC9B,QAAA,cAAc,GAAG,OAAjB;AACH;;AAED,UAAI,SAAS,GAAK,KAAK,KAAK,SAAV,IAAuB,KAAK,KAAK,EAAjC,IAAuC,KAAK,KAAK,KAAjD,IAA0D,KAAK,KAAK,OAApE,IAA+E,KAAK,KAAK,KAA1F,IAAoG,KAAK,KAAK,IAA9G,IAAsH,KAAK,KAAK,MAAhI,IAA0I,KAAK,KAAK,IAArK;AACA,aAAO,SAAS,GAAG,aAAH,GAAmB,cAAnC;;AAGJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,UAAI,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,EAAgB,WAAhB,EAAhB;AACA,aAAO,SAAS,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAnB;;AACJ,SAAK,SAAL;AACI,oCAAe,KAAf;AAEA,aAAO,KAAK,CAAC,OAAN,CAAc,gDAAd,EAAgE,UAAU,CAAV,EAAa;AAChF,eAAO,CAAC,CAAC,WAAF,EAAP;AACH,OAFM,CAAP;;AAIJ,SAAM,OAAN;AACA,SAAM,QAAN;AAEI,UAAI,CAAC,kBAAS,KAAT,KAAmB,kBAAS,KAAT,CAAnB,IAAsC,iBAAQ,KAAR,CAAvC,KAA0D,KAAK,CAAC,cAAN,CAAqB,QAArB,CAA9D,EAA8F;AAC1F,eAAO,KAAK,CAAC,MAAb;AACH;;AAED,YAAM,IAAI,SAAJ,CAAc,kBAAd,CAAN;;AAEJ,SAAK,QAAL;AACI,MAAA,eAAe,CAAC,KAAD,CAAf;AACA,aAAO,IAAI,CAAC,KAAD,CAAX;;AAEJ,SAAK,OAAL;AACI,aAAO,EAAP;;AAEJ,SAAK,WAAL;AACI,aAAO,SAAP;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,MAAM,GAAG,KAAhB;;AAEJ,SAAK,QAAL;AACI,oCAAe,KAAf;AACA,UAAI,MAAM,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,CAAH,CAAjB;AACA,aAAO,KAAK,GAAG,MAAf;;AAEJ,SAAK,QAAL;AACI,aAAQ,IAAI,MAAJ,EAAD,CAAW,QAAX,EAAP;;AAEJ,SAAK,KAAL;AACA,SAAK,UAAL;AACA,SAAK,OAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,UAAI,YAAY,GAAI,IAAI,CAAC,KAAL,MAAgB,EAApC;;AAEA,UAAI,KAAK,YAAY,GAArB,EAA0B;AACtB,YAAG,CAAC,KAAK,CAAC,GAAN,CAAU,GAAV,CAAJ,EAAoB;AAChB,iBAAO,YAAP;AACH;;AACD,eAAO,KAAK,CAAC,GAAN,CAAU,GAAV,CAAP;AACH;;AAED,UAAI,kBAAS,KAAT,KAAiB,iBAAQ,KAAR,CAArB,EAAqC;AAEjC,YAAI,KAAJ,aAAI,KAAJ,eAAI,KAAK,CAAG,GAAH,CAAT,EAAkB;AACd,iBAAO,KAAP,aAAO,KAAP,uBAAO,KAAK,CAAG,GAAH,CAAZ;AACH;;AAED,eAAO,YAAP;AACH;;AAED,YAAM,IAAI,KAAJ,CAAU,oBAAV,CAAN;;AAEJ,SAAK,MAAL;AAEI,MAAA,GAAG,GAAI,IAAI,CAAC,KAAL,MAAgB,WAAvB;AACA,aAAO,IAAI,sBAAJ,CAAe,KAAf,EAAsB,MAAtB,CAA6B,GAA7B,CAAP;;AAGJ,SAAK,WAAL;AAEI,oCAAe,KAAf;AAEA,UAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAjC;AACA,UAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAD,CAAL,CAAR,IAAqB,CAAtB,IAA2B,KAArC;AAEA,aAAO,KAAK,CAAC,SAAN,CAAgB,KAAhB,EAAuB,GAAvB,CAAP;;AAEJ,SAAK,KAAL;AACI,aAAO,KAAP;;AAEJ;AACI,YAAM,IAAI,KAAJ,CAAU,qBAAmB,KAAK,OAAlC,CAAN;AAzLR;;AA4LA,SAAO,KAAP;AACH;;;ACnbD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAM,eAAe,GAAG,eAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;IACM,S;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACI,qBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,UAAK,eAAL,GAAuB,eAAvB;AACA,oCAAiB,QAAjB,EAA2B,+BAAkB,kBAAlB,CAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,4BAAmB,MAAnB,EAA2B;AACvB,oCAAe,MAAf;AACA,WAAK,eAAL,GAAuB,MAAvB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,eAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gCAAuB,IAAvB,EAA6B;AAEzB,UAAI,IAAI,KAAK,SAAb,EAAwB;AACpB,QAAA,IAAI,GAAG,IAAI,4BAAJ,CAAkB,EAAlB,CAAP;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;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAM,gBAAgB,GAAG,eAAzB;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,iBAAiB,GAAG,gBAAgB,GAAG,SAA7C;AAGA;AACA;AACA;AACA;AACA;;;AACA,IAAM,aAAa,GAAG,SAAtB;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,sBAAsB,GAAG,gBAAgB,GAAG,QAAlD;AAEA;AACA;AACA;AACA;;;AACA,IAAM,oBAAoB,GAAG,sBAAsB,GAAG,MAAtD;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,4BAA4B,GAAG,gBAAgB,GAAG,YAAxD;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,yBAAyB,GAAG,gBAAgB,GAAG,SAArD;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,wBAAwB,GAAG,gBAAgB,GAAG,QAApD;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,kCAAkC,GAAG,gBAAgB,GAAG,kBAA9D;AAEA;AACA;AACA;AACA;AACA;;;AACA,IAAM,wBAAwB,GAAG,gBAAgB,GAAG,QAApD;;;;AC5EA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;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;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAc;AACV,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,6BAAoB;AAChB,WAAK,QAAL;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gCAAuB;AACnB,WAAK,WAAL;AACH;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;AAC/C,WAAK,QAAL;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,uBAAqB;AACjB,YAAM,IAAI,KAAJ,CAAU,kEAAV,CAAN;AACH;AAGD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAgB;AACZ,YAAM,IAAI,KAAJ,CAAU,6DAAV,CAAN;AACH;AAED;AACJ;AACA;AACA;;;;WACI,4BAA0B;AACtB,aAAO,IAAI,aAAJ,EAAP;AACH;;;;iCA3JuB,W;AAgK5B;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,wBAAT,GAAoC;AAChC,MAAI,KAAK,YAAL,CAAkB,4BAAlB,CAAJ,EAA0C;AACtC,QAAI;AACA,UAAI,GAAG,GAAG,IAAI,CAAC,KAAL,CAAW,KAAK,YAAL,CAAkB,4BAAlB,CAAX,CAAV;AACA,oCAAe,GAAf;AACA,aAAO,GAAP;AACH,KAJD,CAIE,OAAM,CAAN,EAAS;AACP,YAAM,IAAI,KAAJ,CAAU,2BAAyB,4BAAzB,GAA2C,qDAA3C,GAAiG,KAAK,YAAL,CAAkB,4BAAlB,CAAjG,GAAsI,IAAhJ,CAAN;AACH;AACJ;;AAED,SAAO,EAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,cAAT,GAA0B;AAEtB,OAAK,YAAL,CAAkB;AACd,IAAA,IAAI,EAAE,KAAK,SAAL,CAAe,YAAf,EAA6B,MAA7B,CADQ;AAEd,IAAA,cAAc,EAAE,KAAK,SAAL,CAAe,gBAAf,EAAiC,IAAjC;AAFF,GAAlB;AAKA,MAAM,UAAU,GAAG,KAAK,WAAL,CAAiB,gBAAjB,EAAnB;;AACA,MAAI,UAAU,YAAY,aAA1B,EAAyC;AACrC,SAAK,UAAL,CAAgB,kBAAhB,GAAqC,CAAC,UAAD,CAArC;AACH;;AAED,MAAI;AACA,QAAI,QAAQ,GAAG,oCAAqB,KAAK,WAAL,CAAiB,MAAjB,EAArB,CAAf;AACA,SAAK,UAAL,CAAgB,WAAhB,CAA4B,QAAQ,CAAC,sBAAT,EAA5B;AACH,GAHD,CAGE,OAAO,CAAP,EAAU;AACR,SAAK,UAAL,CAAgB,SAAhB,GAA4B,KAAK,WAAL,CAAiB,WAAjB,EAA5B;AACH;;AAED,SAAO,IAAP;AACH;AAED;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,MAAlC,CAAyC,OAAO,CAAC,MAAR,EAAzC,EAA2D,OAA3D;AACA;AACH;;AAED,kBAAQ,iBAAR,CAA0B,aAA1B,EAAyC,aAAzC,EAAwD,qBAAxD;;;AC7TA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAM,gBAAgB,GAAG,MAAM,CAAC,eAAD,CAA/B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACM,M;;;;;AACF;AACJ;AACA;AACA;AACI,kBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;;AAEA,QAAI,IAAI,gCAAR;;AAEA,IAAA,IAAI,CAAC,EAAL,GAAU,IAAI,MAAJ,EAAV;AAEA,oCAAiB,IAAjB,EAAuB,4BAAvB;AAEA,UAAK,IAAL,GAAY,IAAZ;AAEA,UAAK,gBAAL,GAAwB,sBAAsB,CAAC,IAAvB,+BAAxB;AACA,UAAK,YAAL,GAAoB,kBAAkB,CAAC,IAAnB,+BAApB;;AACA,UAAK,IAAL,CAAU,cAAV,CAAyB,MAAK,YAA9B;;AAEA,UAAK,KAAL,GAAa,IAAI,OAAJ,EAAb;AACA,UAAK,OAAL,GAAe,IAAI,YAAJ,EAAf;AAhBc;AAkBjB;AAED;AACJ;AACA;;;;;WACI,kBAAS;AACL;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,CAAC,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AAED,WAAK,gBAAL,CAAsB,UAAtB,CAAiC,IAAjC;AAEA,aAAO,IAAI,CAAC,OAAL,CAAa,gBAAb,CAAP;AACA,MAAA,IAAI,CAAC,eAAL,CAAqB,6BAAkB,SAAvC;AAEA,aAAO,IAAP;AAEH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,IAAP,EAAa;AAET,UAAI,oBAAW,IAAX,EAAiB,+BAAkB,UAAlB,CAAjB,CAAJ,EAAqD;AACjD,QAAA,IAAI,GAAG,IAAI,CAAC,iBAAZ;AACH;;AAED,sCAAiB,IAAjB,EAAuB,+BAAkB,aAAlB,CAAvB;;AAEA,UAAI,KAAK,KAAL,CAAW,GAAX,CAAe,IAAf,CAAJ,EAA0B;AACtB,eAAO,IAAP;AACH;;AAED,MAAA,IAAI,CAAC,OAAL,CAAa,gBAAb,IAAiC,IAAjC;AACA,MAAA,IAAI,CAAC,YAAL,CAAkB,6BAAkB,SAApC,EAA+C,IAA/C;AAEA,WAAK,gBAAL,CAAsB,OAAtB,CAA8B,IAA9B,EAAoC;AAChC,QAAA,UAAU,EAAE,IADoB;AAEhC,QAAA,SAAS,EAAE,IAFqB;AAGhC,QAAA,OAAO,EAAE,IAHuB;AAIhC,QAAA,aAAa,EAAE,IAJiB;AAKhC,QAAA,qBAAqB,EAAE,IALS;AAMhC,QAAA,iBAAiB,EAAE;AANa,OAApC;AASA,WAAK,KAAL,CAAW,GAAX,CAAe,IAAf;AAEA,aAAO,IAAP;AAEH;;;;EA3FgB,U;AA8FrB;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,kBAAT,GAA8B;AAC1B,MAAM,IAAI,GAAG,IAAb;AAEA,SAAO,IAAI,kBAAJ,CAAa,YAAM;AACtB,IAAA,IAAI,CAAC,MAAL;AACH,GAFM,CAAP;AAGH;AAED;AACA;AACA;AACA;AACA;;;AACA,SAAS,sBAAT,GAAkC;AAE9B,MAAM,IAAI,GAAG,IAAb;AAEA;AACJ;AACA;AACA;;AACI,MAAM,gBAAgB,GAAG,+BAAkB,kBAAlB,CAAzB,CAR8B,CAU9B;;AACA,SAAO,IAAI,gBAAJ,CAAqB,UAAC,aAAD,EAAgB,QAAhB,EAA6B;AAAA,+CAE1B,aAF0B;AAAA;;AAAA;AAEjD,0DAAsC;AAAA,YAA3B,QAA2B;AAClC,QAAA,IAAI,CAAC,OAAL,CAAa,IAAb,CAAkB,QAAlB;AACH;AAJgD;AAAA;AAAA;AAAA;AAAA;;AAMjD,IAAA,IAAI,CAAC,MAAL;AACH,GAPE,CAAP;AAUH;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,iBAAT,CAA2B,IAA3B,EAAiC;AAAA;;AAC7B,kCAAiB,IAAjB,EAAuB,+BAAkB,MAAlB,CAAvB;AAEA,MAAI,MAAM,oBAAG,IAAI,CAAC,OAAR,kDAAG,cAAe,gBAAf,CAAb;;AACA,MAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,QAAI,UAAU,GAAG,IAAH,aAAG,IAAH,uBAAG,IAAI,CAAG,YAAH,CAArB;;AACA,QAAI,oBAAW,UAAX,EAAuB,+BAAkB,MAAlB,CAAvB,CAAJ,EAAuD;AACnD,aAAO,iBAAiB,CAAC,UAAD,CAAxB;AACH;AACJ;;AAED,SAAO,MAAP;AACH;;AAED,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,iBAAzC,EAA4D,MAA5D;;;ACjOA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;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;IACM,Q;;;;;AACF;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;AACA,QAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AACA,oCAAiB,QAAjB,EAA2B,mBAA3B;AACA,UAAK,QAAL,GAAgB,QAAhB;AAJkB;AAKrB;AAED;AACJ;AACA;AACA;;;;;WACI,8BAAqB;AACjB,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,kCAAyB;AACrB,aAAO,KAAK,QAAL,CAAc,OAAd,CAAsB,SAAtB,CAAgC,IAAhC,CAAP;AACH;;;;EA9BkB,U;AAkCvB;AACA;AACA;AACA;AACA;AACA;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,oBAAT,CAA8B,EAA9B,EAAkC;AAC9B,gCAAe,EAAf;AACA,MAAM,QAAQ,GAAG,6BAAgB,UAAhB,CAAjB;AACA,MAAM,mBAAmB,GAAG,+BAAkB,qBAAlB,CAA5B;AAEA,MAAI,KAAK,GAAG,8BAAZ;AACA,MAAI,QAAQ,GAAG,EAAE,GAAG,GAAL,GAAW,KAAK,CAAC,OAAN,EAA1B;AAEA,MAAI,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,QAAxB,CAAf;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,EAAA,QAAQ,GAAG,QAAQ,CAAC,cAAT,CAAwB,EAAxB,CAAX;;AACA,MAAI,QAAQ,YAAY,mBAAxB,EAA6C;AACzC,WAAO,IAAI,QAAJ,CAAa,QAAb,CAAP;AACH;;AAED,QAAM,IAAI,KAAJ,CAAU,cAAc,EAAd,GAAmB,aAA7B,CAAN;AACH;;AAGD,cAAQ,iBAAR,CAA0B,aAA1B,EAAyC,QAAzC,EAAmD,oBAAnD;;;ACxHA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACI,iBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,kCAAe,IAAf;AACA,UAAK,IAAL,GAAY,IAAZ;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,wBAAX;AAEA,MAAI,OAAO,GAAG,QAAQ,CAAC,aAAT,CAAuB,MAAvB,CAAd;;AACA,MAAI,OAAO,YAAY,WAAvB,EAAoC;AAChC,QAAI,KAAK,GAAG,OAAO,CAAC,YAAR,CAAqB,+BAArB,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;;;AClGA;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;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,WAAK,WAAL,CAAiB,YAAjB;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;;;;AAGD;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS;AACL,WAAK,WAAL,CAAiB,WAAjB;AACA,aAAO,IAAP;AACH;;;;EA7IiB,U;;;;AAmJtB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,OAA7C;;;ACtLA;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;AAEA;;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,c;;;;;AACF,4BAAc;AAAA;;AAAA;AAEb;;;EAHwB,U;;AAO7B,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,cAA7C;;;ACxCA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,Q;;;;;AACF;AACJ;AACA;AACA;AACA;AACI,oBAAY,QAAZ,EAA+B;AAAA;;AAAA;;AAC3B;AACA,mCAAgB,QAAhB;AAEA,UAAK,QAAL,GAAgB,QAAhB;;AAJ2B,sCAAN,IAAM;AAAN,MAAA,IAAM;AAAA;;AAK3B,UAAK,SAAL,GAAiB,IAAjB;AAL2B;AAM9B;AAED;AACJ;AACA;AACA;;;;;WACI,uBAAc;AACV,aAAO,KAAK,QAAZ;AACH;AAED;AACJ;AACA;AACA;;;;WACI,wBAAe;AACX,aAAO,KAAK,SAAZ;AACH;;;;EA5BkB,U;;;;AAgCvB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,QAA7C;;;AClEA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAM,GAAG,GAAG,GAAZ;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,EAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,EAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,IAAI,GAAG,EAAb;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,IAAI,GAAG,CAAb;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,CAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,KAAK,GAAG,CAAd;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAM,GAAG,GAAG,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;IACM,M;;;;;AAEF;AACJ;AACA;AACI,oBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,OAAL,GAAe,IAAI,GAAJ,EAAf;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,oBAAW,OAAX,EAAoB;AAChB,oCAAe,OAAf;;AACA,UAAI,EAAE,OAAO,YAAY,gBAArB,CAAJ,EAAmC;AAC/B,cAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACH;;AAED,WAAK,OAAL,CAAa,GAAb,CAAiB,OAAjB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,uBAAc,OAAd,EAAuB;AACnB,oCAAe,OAAf;;AACA,UAAI,EAAE,OAAO,YAAY,gBAArB,CAAJ,EAAmC;AAC/B,cAAM,IAAI,KAAJ,CAAU,4CAAV,CAAN;AACH;;AAED,WAAK,OAAL,WAAoB,OAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,IAAxB,oCAAiC,SAAjC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,uBAAU;AACN,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,IAAxB,oCAAiC,SAAjC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,wBAAW;AACP,MAAA,UAAU,CAAC,KAAX,CAAiB,IAAjB,GAAwB,KAAxB,oCAAkC,SAAlC;AACA,aAAO,IAAP;AACH;;;;AAGD;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,KAAT,EAAgB;AACZ,qCAAgB,KAAhB;AAEA,UAAI,KAAK,KAAK,GAAd,EAAmB,OAAO,KAAP;AACnB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,MAAP;AACpB,UAAI,KAAK,KAAK,IAAd,EAAoB,OAAO,MAAP;AACpB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,OAAP;AACrB,UAAI,KAAK,KAAK,GAAd,EAAmB,OAAO,KAAP;AAEnB,aAAO,SAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,KAAT,EAAgB;AACZ,oCAAe,KAAf;AAEA,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,GAAP;AACrB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,MAAd,EAAsB,OAAO,IAAP;AACtB,UAAI,KAAK,KAAK,MAAd,EAAsB,OAAO,IAAP;AACtB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,OAAd,EAAuB,OAAO,KAAP;AACvB,UAAI,KAAK,KAAK,KAAd,EAAqB,OAAO,GAAP;AAErB,aAAO,CAAP;AACH;;;;EAxKgB,U;;;;AA6KrB,mBAAQ,iBAAR,CAA0B,iBAA1B,EAA6C,MAA7C;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,CAAoB,QAApB,EAAuC;AACnC,MAAI,MAAM,GAAG,IAAb;;AADmC,oCAAN,IAAM;AAAN,IAAA,IAAM;AAAA;;AAAA,6CAGf,MAAM,CAAC,OAHQ;AAAA;;AAAA;AAGnC,wDAAoC;AAAA,UAA3B,OAA2B;AAChC,MAAA,OAAO,CAAC,GAAR,CAAY,IAAI,kBAAJ,CAAa,QAAb,EAAuB,IAAvB,CAAZ;AACH;AALkC;AAAA;AAAA;AAAA;AAAA;;AAOnC,SAAO,MAAP;AAEH;;;ACvRD;AAEA;AACA;AACA;;;;;;;;;;;;;AAGA;;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,SAAS,MAAT,CAAgB,GAAhB,EAAqB,GAArB,EAA0B;AAEtB,MAAI,GAAG,KAAK,SAAZ,EAAuB;AACnB,IAAA,GAAG,GAAG,CAAN;AACH;;AACD,MAAI,GAAG,KAAK,SAAZ,EAAuB;AACnB,IAAA,GAAG,GAAG,GAAN;AACH;;AAED,MAAI,GAAG,GAAG,GAAV,EAAe;AACX,UAAM,IAAI,KAAJ,CAAU,8BAAV,CAAN;AACH;;AAED,SAAO,IAAI,CAAC,KAAL,CAAW,MAAM,CAAC,GAAD,EAAM,GAAN,CAAjB,CAAP;AAEH;AAED;AACA;AACA;AACA;;;AACA,IAAI,GAAG,GAAG,UAAV;;AAGA,IAAI,CAAC,IAAL,GAAY,IAAI,CAAC,IAAL,IAAa,UAAU,CAAV,EAAa;AAClC,SAAO,IAAI,CAAC,GAAL,CAAS,CAAT,IAAc,IAAI,CAAC,GAAL,CAAS,CAAT,CAArB;AACH,CAFD;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,MAAT,CAAgB,GAAhB,EAAqB,GAArB,EAA0B;AACtB,MAAI,KAAJ;AACA,MAAI,eAAe,GAAG,wBAAtB;AAEA,EAAA,KAAK,GAAG,CAAA,eAAe,SAAf,IAAA,eAAe,WAAf,YAAA,eAAe,CAAG,QAAH,CAAf,MAA+B,eAA/B,aAA+B,eAA/B,uBAA+B,eAAe,CAAG,UAAH,CAA9C,MAAgE,eAAhE,aAAgE,eAAhE,uBAAgE,eAAe,CAAG,QAAH,CAA/E,KAA+F,SAAvG;;AAEA,MAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AAC9B,UAAM,IAAI,KAAJ,CAAU,eAAV,CAAN;AACH;;AAED,MAAI,IAAI,GAAG,CAAX;AACA,MAAM,KAAK,GAAG,GAAG,GAAG,GAApB;;AACA,MAAI,KAAK,GAAG,CAAZ,EAAe;AACX,WAAO,GAAP;AACH;;AAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAL,CAAU,IAAI,CAAC,IAAL,CAAU,KAAV,CAAV,CAAnB;;AACA,MAAI,UAAU,GAAG,EAAjB,EAAqB;AACjB,UAAO,IAAI,KAAJ,CAAU,iDAAV,CAAP;AACH;;AACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAL,CAAU,UAAU,GAAG,CAAvB,CAApB;AACA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,UAAZ,IAA0B,CAAvC;AAEA,MAAM,SAAS,GAAG,IAAI,UAAJ,CAAe,WAAf,CAAlB;AACA,EAAA,KAAK,CAAC,eAAN,CAAsB,SAAtB;AAEA,MAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAf,IAAoB,CAA5B;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,WAApB,EAAiC,CAAC,EAAlC,EAAsC;AAClC,IAAA,IAAI,IAAI,SAAS,CAAC,CAAD,CAAT,GAAe,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,CAAZ,CAAvB;AACA,IAAA,CAAC,IAAI,CAAL;AACH;;AAED,EAAA,IAAI,GAAG,IAAI,GAAG,IAAd;;AAEA,MAAI,IAAI,IAAI,KAAZ,EAAmB;AACf,WAAO,MAAM,CAAC,GAAD,EAAM,GAAN,CAAb;AACH;;AAED,SAAO,GAAG,GAAG,IAAb;AAEH;;AAED,gBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,MAA1C;;;ACpHA;AACA;AACA;AACA;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;;AAGA,mBAAQ,IAAR,CAAa,UAAb,CAAwB,kBAAxB;;AAGA,IAAI,QAAJ;;AACA,IAAI;AACA,EAAA,QAAQ,GAAG,mBAAQ,KAAR,CAAc,eAAd,CAA8B,qBAA9B,CAAX;AACH,CAFD,CAEE,OAAO,CAAP,EAAU,CAEX;;AAED,IAAI,CAAC,QAAL,EAAe,QAAQ,GAAG,SAAX;AAEf,mBAAQ,KAAR,CAAc,SAAd,GAA0B,QAA1B,IAAsC,kBAAtC;;;AC/DA;AAEA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;IACM,S;AAEF;AACJ;AACA;AACA;AACA;AACI,qBAAY,SAAZ,EAAuB;AAAA;;AACnB,QAAI,SAAS,KAAK,SAAd,IAA2B,OAAO,SAAP,KAAqB,QAApD,EAA8D;AAC1D,YAAM,IAAI,KAAJ,CAAU,2BAAV,CAAN;AACH;;AACD,SAAK,SAAL,GAAiB,SAAjB;AACH;AAED;AACJ;AACA;AACA;;;;;WACI,wBAAe;AACX,aAAO,KAAK,SAAZ;AACH;AAED;AACJ;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,KAAK,YAAL,EAAP;AACH;;;;;AAGL;AACA;AACA;AACA;;;AACO,IAAM,OAAO,GAAG,IAAI,SAAJ,CAAc,SAAd,CAAhB;AAGP;AACA;AACA;;;AACA,iBAAiB,CAAC,SAAD,EAAY,iBAAZ,CAAjB;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,SAAS,iBAAT,CAA2B,EAA3B,EAAuC;AACnC,MAAI,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,KAAH,CAAS,GAAT,CAAD,CAA1B;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAR,EAAW,CAAC,mDAAjB,EAAgC,CAAC,GAAG,CAApC,EAAuC,CAAC,EAAxC,EAA4C;AACxC,IAAA,OAAO,CAAC,UAAU,CAAK,CAAL,gCAAK,CAAL,6BAAK,CAAL,MAAX,CAAP,GAAkC,CAAlC,gCAAkC,CAAlC,6BAAkC,CAAlC;AACH;AACJ;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,UAAT,CAAoB,EAApB,EAAwB;AACpB,MAAI;AAEA,QAAI,OAAO,EAAP,KAAc,UAAlB,EAA8B;AAC1B,YAAO,IAAI,KAAJ,CAAU,gDAAV,CAAP;AACH;;AAED,QAAI,EAAE,CAAC,cAAH,CAAkB,MAAlB,CAAJ,EAA+B;AAC3B,aAAO,EAAE,CAAC,IAAV;AACH;;AAED,QAAI,eAAe,OAAO,EAAE,CAAC,QAA7B,EAAuC;AACnC,UAAI,CAAC,GAAG,EAAE,CAAC,QAAH,EAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,KAAF,CAAQ,0BAAR,CAAR;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,CAAd,KAAoB,OAAO,CAAC,CAAC,CAAD,CAAR,KAAgB,QAAxC,EAAkD;AAC9C,eAAO,CAAC,CAAC,CAAD,CAAR;AACH;;AACD,UAAI,CAAC,GAAG,CAAC,CAAC,KAAF,CAAQ,uBAAR,CAAR;;AACA,UAAI,KAAK,CAAC,OAAN,CAAc,CAAd,KAAoB,OAAO,CAAC,CAAC,CAAD,CAAR,KAAgB,QAAxC,EAAkD;AAC9C,eAAO,CAAC,CAAC,CAAD,CAAR;AACH;AACJ;AAEJ,GAtBD,CAsBE,OAAO,CAAP,EAAU;AACR,UAAM,IAAI,KAAJ,CAAU,eAAe,CAAzB,CAAN;AACH;;AAED,QAAO,IAAI,KAAJ,CAAU,uDAAV,CAAP;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,YAAT,CAAsB,KAAtB,EAA6B;AACzB,MAAI,KAAK,GAAG,OAAZ;AAAA,MAAqB,EAAE,GAAG,SAA1B;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AAEnC,QAAI,cAAc,KAAK,CAAC,CAAD,CAAvB,EAA4B;AACxB;AACH;;AAED,IAAA,EAAE,IAAI,MAAM,KAAK,CAAC,CAAD,CAAjB;;AAEA,QAAI,CAAC,KAAK,CAAC,cAAN,CAAqB,KAAK,CAAC,CAAD,CAA1B,CAAL,EAAqC;AACjC,MAAA,KAAK,CAAC,KAAK,CAAC,CAAD,CAAN,CAAL,GAAkB,IAAI,SAAJ,CAAc,EAAd,CAAlB;AACH;;AAED,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAD,CAAN,CAAb;AACH;;AAED,SAAO,KAAP;AACH;;;AC3JD;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;IACM,I;;;;;;;;;;;;;;AAEF;AACJ;AACA;AACA;AACI,wBAAW;AACP,aAAO,IAAI,CAAC,SAAL,CAAe,IAAf,CAAP;AACH;;;;iCARc,M;;;;AAanB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,IAA3C;;;ACnDA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAJ;AAEA;AACA;AACA;;AACC,aAAY;AACT,MAAI,QAAO,UAAP,yCAAO,UAAP,OAAsB,QAA1B,EAAoC;AAChC,IAAA,eAAe,GAAG,UAAlB;AACA;AACH;;AAED,EAAA,MAAM,CAAC,cAAP,CAAsB,MAAM,CAAC,SAA7B,EAAwC,aAAxC,EAAuD;AACnD,IAAA,GAAG,EAAE,eAAY;AACb,aAAO,IAAP;AACH,KAHkD;AAInD,IAAA,YAAY,EAAE;AAJqC,GAAvD;AAOA,EAAA,WAAW,CAAC,UAAZ,GAAyB,WAAzB;AACA,SAAO,MAAM,CAAC,SAAP,CAAiB,WAAxB;AAEA,EAAA,eAAe,GAAG,UAAlB;AAEH,CAlBA,GAAD;AAoBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,SAAT,GAAqB;AACjB,SAAO,eAAP;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,eAAT,CAAyB,IAAzB,EAA+B;AAAA;;AAC3B,gCAAe,IAAf;AACA,MAAI,CAAC,uBAAG,eAAH,qDAAG,iBAAkB,IAAlB,CAAR;AACA,MAAI,OAAO,CAAP,KAAa,WAAjB,EAA8B,MAAM,IAAI,KAAJ,CAAU,gBAAgB,IAAhB,GAAuB,iBAAjC,CAAN;AAC9B,gCAAe,CAAf;AACA,SAAO,CAAP;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,iBAAT,CAA2B,IAA3B,EAAiC;AAAA;;AAC7B,gCAAe,IAAf;AACA,MAAI,CAAC,wBAAG,eAAH,sDAAG,kBAAkB,IAAlB,CAAR;AACA,MAAI,OAAO,CAAP,KAAa,WAAjB,EAA8B,MAAM,IAAI,KAAJ,CAAU,kBAAkB,IAAlB,GAAyB,iBAAnC,CAAN;AAC9B,kCAAiB,CAAjB;AACA,SAAO,CAAP;AACH;;AAGD,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,SAA3C,EAAsD,eAAtD,EAAuE,iBAAvE;;;AC9HA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG,IAAI,GAAJ,EAAtB;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;;IACM,E;;;;;AAEF;AACJ;AACA;AACI,cAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;;AAEA,QAAI,MAAM,KAAK,SAAf,EAA0B;AACtB,MAAA,MAAM,GAAG,IAAT;AACH;;AAED,kCAAe,MAAf;;AAEA,QAAI,CAAC,eAAe,CAAC,GAAhB,CAAoB,MAApB,CAAL,EAAkC;AAC9B,MAAA,eAAe,CAAC,GAAhB,CAAoB,MAApB,EAA4B,CAA5B;AACH;;AAED,QAAI,KAAK,GAAG,eAAe,CAAC,GAAhB,CAAoB,MAApB,CAAZ;AACA,UAAK,EAAL,GAAU,MAAM,GAAG,KAAnB;AAEA,IAAA,eAAe,CAAC,GAAhB,CAAoB,MAApB,EAA4B,EAAE,KAA9B;AAhBgB;AAiBnB;AAED;AACJ;AACA;;;;;WACI,oBAAW;AACP,aAAO,KAAK,EAAZ;AACH;;;;EA7BY,U;;;;AAiCjB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,EAA3C;;;AC/EA;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,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;AAChC,YAAM,IAAI,KAAJ,CAAU,sCAAV,CAAN;AACH;;AAED,UAAK,QAAL,GAAgB,QAAhB;;AAP2B,sCAAN,IAAM;AAAN,MAAA,IAAM;AAAA;;AAQ3B,UAAK,SAAL,GAAiB,IAAjB;AACA,UAAK,IAAL,GAAY,IAAI,oBAAJ,EAAZ;AACA,UAAK,KAAL,GAAa,IAAI,wBAAJ,EAAb;AAV2B;AAW9B;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,gBAAO,GAAP,EAAY;AACR,WAAK,IAAL,CAAU,GAAV,CAAc,GAAd;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,mBAAU,GAAV,EAAe;AACX,WAAK,IAAL,CAAU,MAAV,CAAiB,GAAjB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAK,IAAL,CAAU,OAAV,EAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,GAAP,EAAY;AACR,aAAO,KAAK,IAAL,CAAU,QAAV,CAAmB,GAAnB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,gBAAO,OAAP,EAAgB;AACZ,UAAI,IAAI,GAAG,IAAX;AAEA,aAAO,IAAI,OAAJ,CAAY,UAAU,OAAV,EAAmB,MAAnB,EAA2B;AAC1C,YAAI,CAAC,kBAAS,OAAT,CAAL,EAAwB;AACpB,UAAA,MAAM,CAAC,2BAAD,CAAN;AACA;AACH;;AAED,QAAA,IAAI,CAAC,KAAL,CAAW,GAAX,CAAe,OAAf;AAEA,QAAA,UAAU,CAAC,YAAM;AAEb,cAAI;AACA;AACA;AACA,gBAAI,IAAI,CAAC,KAAL,CAAW,OAAX,EAAJ,EAA0B;AACtB,cAAA,OAAO;AACP;AACH;;AAED,gBAAI,CAAC,GAAG,IAAI,CAAC,KAAL,CAAW,IAAX,EAAR;AACA,gBAAI,MAAM,GAAG,IAAI,CAAC,QAAL,CAAc,KAAd,CAAoB,CAApB,EAAuB,IAAI,CAAC,SAA5B,CAAb;;AAEA,gBAAI,kBAAS,MAAT,KAAoB,MAAM,YAAY,OAA1C,EAAmD;AAC/C,cAAA,MAAM,CAAC,IAAP,CAAY,OAAZ,WAA2B,MAA3B;AACA;AACH;;AAED,YAAA,OAAO,CAAC,MAAD,CAAP;AAEH,WAlBD,CAkBE,OAAO,CAAP,EAAU;AACR,YAAA,MAAM,CAAC,CAAD,CAAN;AACH;AACJ,SAvBS,EAuBP,CAvBO,CAAV;AAyBH,OAjCM,CAAP;AAmCH;;;;EApGkB,U;;;;AAwGvB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,QAA3C;;;ACnLA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,Y;;;;;AAEF;AACJ;AACA;AACI,0BAAc;AAAA;;AAAA;;AACV;AACA,UAAK,SAAL,GAAiB,EAAjB;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;;;;;WACI,gBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,WAAK,SAAL,CAAe,IAAf,CAAoB,QAApB;AACA,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,oBAAO,QAAP,EAAiB;AACb,sCAAiB,QAAjB,EAA2B,kBAA3B;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,eAAK,SAAL,CAAe,MAAf,CAAsB,CAAtB,EAAyB,CAAzB;AACH;AACJ;;AAED,aAAO,IAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACA;AACI,sBAAS,QAAT,EAAmB;AACf,sCAAiB,QAAjB,EAA2B,kBAA3B;AACA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,YAAI,KAAK,SAAL,CAAe,CAAf,MAAsB,QAA1B,EAAoC;AAChC,iBAAO,IAAP;AACH;AACJ;;AACD,aAAO,KAAP;AACH;;;;AAED;AACJ;AACA;AACA;AACA;AACI,oBAAO,OAAP,EAAgB;AAEZ,UAAI,OAAO,GAAG,EAAd;AAEA,UAAI,CAAC,GAAG,CAAR;AAAA,UAAW,CAAC,GAAG,KAAK,SAAL,CAAe,MAA9B;;AACA,aAAO,CAAC,GAAG,CAAX,EAAc,CAAC,EAAf,EAAmB;AACf,QAAA,OAAO,CAAC,IAAR,CAAa,KAAK,SAAL,CAAe,CAAf,EAAkB,MAAlB,CAAyB,OAAzB,CAAb;AACH;;AAED,aAAO,OAAO,CAAC,GAAR,CAAY,OAAZ,CAAP;AACH;;;;EA1EsB,U;;;;AA8E3B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,YAA3C;;;ACpHA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;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;IACM,a;;;;;AAEF;AACJ;AACA;AACA;AACA;AACI,yBAAY,MAAZ,EAAoB;AAAA;;AAAA;;AAChB;AACA,kCAAe,MAAf;AACA,UAAK,WAAL,GAAmB,MAAnB;AACA,UAAK,OAAL,GAAe,IAAI,KAAJ,CAAU,MAAV,EAAkB,UAAU,CAAC,IAAX,+BAAlB,CAAf;AAEA,UAAK,SAAL,GAAiB,IAAI,OAAJ,EAAjB;;AACA,UAAK,SAAL,CAAe,GAAf,CAAmB,MAAK,WAAxB,EAAqC,MAAK,OAA1C;;AAEA,UAAK,SAAL,GAAiB,IAAI,0BAAJ,EAAjB;AATgB;AAUnB;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,sBAAa;AACT,aAAO,KAAK,OAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,0BAAiB;AACb,aAAO,KAAK,WAAZ;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,wBAAe,QAAf,EAAyB;AACrB,WAAK,SAAL,CAAe,MAAf,CAAsB,QAAtB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,2BAAkB;AACd,aAAO,KAAK,SAAL,CAAe,MAAf,CAAsB,IAAtB,CAAP;AACH;AAED;AACJ;AACA;AACA;;;;WACI,0BAAiB,QAAjB,EAA2B;AACvB,aAAO,KAAK,SAAL,CAAe,QAAf,CAAwB,QAAxB,CAAP;AACH;;;;EA5EuB,U;;;;AAgF5B,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,aAA3C;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAT,GAAsB;AAElB,MAAM,KAAK,GAAG,IAAd,CAFkB,CAIlB;;AACA,MAAM,OAAO,GAAG;AAEZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,QAAvB,EAAiC;AAElC,UAAM,KAAK,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,QAAzB,CAAd;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,eAAO,KAAP;AACH;;AAED,UAAI,qBAAY,KAAZ,CAAJ,EAAwB;AACpB,eAAO,KAAP;AACH,OAViC,CAYlC;;;AACA,UAAK,iBAAQ,KAAR,KAAkB,kBAAS,KAAT,CAAvB,EAAyC;AACrC,YAAI,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAJ,EAAgC;AAC5B,iBAAO,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,CAAP;AACH,SAFD,MAEO;AACH,cAAI,CAAC,GAAG,IAAI,KAAJ,CAAU,KAAV,EAAiB,OAAjB,CAAR;AACA,UAAA,KAAK,CAAC,SAAN,CAAgB,GAAhB,CAAoB,KAApB,EAA2B,CAA3B;AACA,iBAAO,CAAP;AACH;AAEJ;;AAED,aAAO,KAAP;AAEH,KA7BW;AA+BZ;AACA,IAAA,GAAG,EAAE,aAAU,MAAV,EAAkB,GAAlB,EAAuB,KAAvB,EAA8B,QAA9B,EAAwC;AACzC,UAAM,MAAM,GAAG,OAAO,CAAC,GAAR,CAAY,MAAZ,EAAoB,GAApB,EAAyB,KAAzB,EAAgC,QAAhC,CAAf;;AACA,UAAI,QAAO,QAAP,yCAAO,QAAP,OAAoB,QAAxB,EAAkC;AAC9B,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH,KAvCW;AAyCZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,GAAG,IAAI,MAAX,EAAmB;AACf,eAAO,MAAM,CAAC,GAAD,CAAb;;AAEA,YAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,UAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,eAAO,IAAP;AACH;;AACD,aAAO,KAAP;AACH,KAtDW;AAwDZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB,UAAvB,EAAmC;AAC/C,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,MAAvB,EAA+B,GAA/B,EAAoC,UAApC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAGD,aAAO,MAAP;AACH,KAlEW;AAoEZ;AACA,IAAA,cAAc,EAAE,wBAAU,MAAV,EAAkB,GAAlB,EAAuB;AACnC,UAAI,MAAM,GAAG,OAAO,CAAC,cAAR,CAAuB,OAAvB,EAAgC,GAAhC,CAAb;;AAEA,UAAI,QAAO,GAAP,MAAe,QAAnB,EAA6B;AACzB,QAAA,KAAK,CAAC,SAAN,CAAgB,MAAhB,CAAuB,KAAvB;AACH;;AAED,aAAO,MAAP;AACH;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;AACA;AACA;AACA;AACA;AACA;;IACM,Q;;;;;AAEF;AACJ;AACA;AACI,sBAAc;AAAA;;AAAA;;AACV;AAEA,IAAA,eAAe,IAAI,CAAnB;AAEA,UAAK,EAAL,GAAU,yBAAY,IAAZ,CAAiB,oBAAO,CAAP,EAAU,KAAV,CAAjB,EACL,OADK,CACG,IADH,EACS,EADT;AAEN;AAFM,KAGL,OAHK,CAGG,SAHH,EAGc,GAHd,IAGqB,eAH/B;AALU;AASb;;;EAdkB,M;;;;AAkBvB,YAAQ,iBAAR,CAA0B,eAA1B,EAA2C,QAA3C;;;;;;;;;;;;;;;;;;ACzDA;;;;;;;;;;;;;;;;;;;;;;AAEA;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;AAAA;;AACH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AAED,2BAAO,KAAK,IAAZ,+CAAO,WAAY,KAAK,IAAL,CAAU,MAAV,GAAmB,CAA/B,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,cAAK,KAAL,EAAY;AACR,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;AACA;;;;WACI,eAAM;AACF,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,aAAO,KAAK,IAAL,CAAU,GAAV,EAAP;AACH;;;;EAhEe,U;;;;AAqEpB,cAAQ,iBAAR,CAA0B,eAA1B,EAA2C,KAA3C;;;AC9FA;AAEA;AACA;AACA;;;;;;;;;;;;;;;AAEA;;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;IACM,S;;;;;AAEF;AACJ;AACA;AACA;AACI,qBAAY,IAAZ,EAAkB;AAAA;;AAAA;;AACd;AACA,UAAK,MAAL,GAAc,IAAI,GAAJ,EAAd;;AAEA,QAAI,OAAO,IAAP,KAAgB,WAApB,EAAiC;AAC7B,YAAK,GAAL,CAAS,IAAT;AACH;;AANa;AAQjB;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,uBAAc;AACV,aAAO,KAAK,MAAM,CAAC,QAAZ,GAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;SACK,MAAM,CAAC,Q;WAAR,iBAAoB;AAChB;AACA;AACA;AACA,UAAI,KAAK,GAAG,CAAZ;AACA,UAAI,OAAO,GAAG,KAAK,OAAL,EAAd;AAEA,aAAO;AACH,QAAA,IAAI,EAAE,gBAAM;AACR,cAAI,KAAK,GAAG,OAAO,CAAC,MAApB,EAA4B;AACxB,mBAAO;AAAC,cAAA,KAAK,EAAE,OAAF,aAAE,OAAF,uBAAE,OAAO,CAAG,KAAK,EAAR,CAAf;AAA4B,cAAA,IAAI,EAAE;AAAlC,aAAP;AACH,WAFD,MAEO;AACH,mBAAO;AAAC,cAAA,IAAI,EAAE;AAAP,aAAP;AACH;AACJ;AAPE,OAAP;AASH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS,KAAT,EAAgB;AAAA;;AACZ,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,GAAG,KAAK,CAAC,IAAN,EAAR;AACA,YAAI,OAAO,GAAG,CAAd;AACA,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,cAAI,MAAI,CAAC,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB,MAAkC,KAAtC,EAA6C,OAAO,KAAP;AAC7C,UAAA,OAAO;AACV,SAHD;AAIA,eAAO,OAAO,GAAG,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;;AAED,UAAI,oBAAW,KAAX,CAAJ,EAAuB;AACnB,YAAI,QAAO,GAAG,CAAd;;AADmB,mDAED,KAFC;AAAA;;AAAA;AAEnB,8DAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,gBAAI,KAAK,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB,MAAkC,KAAtC,EAA6C,OAAO,KAAP;AAC7C,YAAA,QAAO;AACV;AANkB;AAAA;AAAA;AAAA;AAAA;;AAOnB,eAAO,QAAO,GAAG,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;;AAED,aAAO,KAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,aAAI,KAAJ,EAAW;AAAA;;AACP,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,MAAI,CAAC,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,iBAAK,MAAL,CAAY,GAAZ,CAAgB,KAAK,CAAC,IAAN,EAAhB;AACH;AAJyB;AAAA;AAAA;AAAA;AAAA;AAK7B,OALM,MAKA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ,WAAK,MAAL,CAAY,KAAZ;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,KAAP,EAAc;AAAA;;AACV,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,MAAI,CAAC,MAAL,WAAmB,KAAK,CAAC,IAAN,EAAnB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,0CAAe,KAAf;AACA,iBAAK,MAAL,WAAmB,KAAK,CAAC,IAAN,EAAnB;AACH;AAJyB;AAAA;AAAA;AAAA;AAAA;AAK7B,OALM,MAKA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,iBAAQ,KAAR,EAAe,QAAf,EAAyB;AACrB,oCAAe,KAAf;AACA,oCAAe,QAAf;;AACA,UAAI,CAAC,KAAK,QAAL,CAAc,KAAd,CAAL,EAA2B;AACvB,eAAO,IAAP;AACH;;AAED,UAAI,CAAC,GAAG,KAAK,CAAC,IAAN,CAAW,KAAK,MAAhB,CAAR;AACA,UAAI,CAAC,GAAG,CAAC,CAAC,OAAF,CAAU,KAAV,CAAR;AACA,UAAI,CAAC,KAAK,CAAC,CAAX,EAAc,OAAO,IAAP;AAEd,MAAA,CAAC,CAAC,MAAF,CAAS,CAAT,EAAY,CAAZ,EAAe,QAAf;AACA,WAAK,MAAL,GAAc,IAAI,GAAJ,EAAd;AACA,WAAK,GAAL,CAAS,CAAT;AAEA,aAAO,IAAP;AAGH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,gBAAO,KAAP,EAAc;AAAA;;AAEV,UAAI,kBAAS,KAAT,CAAJ,EAAqB;AACjB,QAAA,KAAK,CAAC,KAAN,CAAY,GAAZ,EAAiB,OAAjB,CAAyB,UAAA,KAAK,EAAI;AAC9B,UAAA,WAAW,CAAC,IAAZ,CAAiB,MAAjB,EAAuB,KAAvB;AACH,SAFD;AAGH,OAJD,MAIO,IAAI,oBAAW,KAAX,CAAJ,EAAuB;AAAA,oDACR,KADQ;AAAA;;AAAA;AAC1B,iEAAyB;AAAA,gBAAhB,KAAgB;AACrB,YAAA,WAAW,CAAC,IAAZ,CAAiB,IAAjB,EAAuB,KAAvB;AACH;AAHyB;AAAA;AAAA;AAAA;AAAA;AAI7B,OAJM,MAIA,IAAI,OAAO,KAAP,KAAiB,WAArB,EAAkC;AACrC,cAAM,IAAI,SAAJ,CAAc,mBAAd,CAAN;AACH;;AAED,aAAO,IAAP;AAEH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,mBAAU;AACN,aAAO,KAAK,CAAC,IAAN,CAAW,KAAK,MAAhB,CAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,iBAAQ,QAAR,EAAkB;AACd,sCAAiB,QAAjB;AACA,WAAK,MAAL,CAAY,OAAZ,CAAoB,QAApB;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,oBAAW;AACP,aAAO,KAAK,OAAL,GAAe,IAAf,CAAoB,GAApB,CAAP;AACH;;;;EArPmB,U;AAyPxB;AACA;AACA;AACA;AACA;AACA;;;;;AACA,SAAS,WAAT,CAAqB,KAArB,EAA4B;AACxB,MAAI,EAAE,gBAAgB,SAAlB,CAAJ,EAAkC,MAAM,KAAK,CAAC,oCAAD,CAAX;AAClC,gCAAe,KAAf;AACA,EAAA,KAAK,GAAG,KAAK,CAAC,IAAN,EAAR;;AACA,MAAI,KAAK,QAAL,CAAc,KAAd,CAAJ,EAA0B;AACtB,SAAK,MAAL,CAAY,KAAZ;AACA,WAAO,IAAP;AACH;;AACD,OAAK,GAAL,CAAS,KAAT;AACA,SAAO,IAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,SAA3C;;;;;;;;;;;;;;;;;;ACzTA;;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,W;;;;;AAEF;AACJ;AACA;AACI,yBAAc;AAAA;;AAAA;;AACV;AACA,UAAK,MAAL,GAAc,IAAI,OAAJ,EAAd;AAFU;AAGb;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;;WACI,aAAI,KAAJ,EAAW;AAEP,oCAAe,KAAf;;AAEA,UAAI,CAAC,KAAK,MAAL,CAAY,GAAZ,CAAgB,KAAhB,CAAL,EAA6B;AACzB,aAAK,MAAL,CAAY,GAAZ,CAAgB,KAAhB;;AACA,6EAAU,KAAV;AACH;;AAED,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAQ;AACJ;;AACA,WAAK,MAAL,GAAc,IAAI,OAAJ,EAAd;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;;;;WACI,gBAAO;AAEH,UAAI,KAAK,OAAL,EAAJ,EAAoB;AAChB,eAAO,SAAP;AACH;;AACD,UAAI,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;;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,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,CAA0B,KAA1B,EAAiC,QAAjC,EAA2C;AACvC,MAAI,CAAC,oBAAW,KAAX,EAAkB,QAAlB,CAAL,EAAkC;AAC9B,QAAI,CAAC,GAAG,EAAR;;AACA,QAAI,kBAAS,QAAT,KAAsB,oBAAW,QAAX,CAA1B,EAAgD;AAC5C,MAAA,CAAC,GAAG,QAAH,aAAG,QAAH,uBAAG,QAAQ,CAAG,MAAH,CAAZ;AACH;;AAED,QAAI,CAAJ,EAAO;AACH,MAAA,CAAC,GAAG,MAAM,CAAV;AACH;;AAED,UAAM,IAAI,SAAJ,CAAc,gCAAgC,CAA9C,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,aAAT,CAAuB,KAAvB,EAA8B;AAC1B,MAAI,CAAC,iBAAQ,KAAR,CAAL,EAAqB;AACjB,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,CAA0B,KAA1B,EAAiC;AAC7B,MAAI,CAAC,oBAAW,KAAX,CAAL,EAAwB;AACpB,UAAM,IAAI,SAAJ,CAAc,yBAAd,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,eAAT,CAAyB,KAAzB,EAAgC;AAC5B,MAAI,CAAC,mBAAU,KAAV,CAAL,EAAuB;AACnB,UAAM,IAAI,SAAJ,CAAc,yBAAd,CAAN;AACH;;AACD,SAAO,KAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,iBAA3C,EAA8D,eAA9D,EAA+E,cAA/E,EAA+F,cAA/F,EAA+G,aAA/G,EAA8H,gBAA9H,EAAgJ,gBAAhJ,EAAkK,eAAlK;;;AC3XA;;;;;;;;;;;;;;;;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;AACA;AACA;AACA;AACI,mBAAY,KAAZ,EAAmB,KAAnB,EAA0B,KAA1B,EAAiC;AAAA;;AAAA;;AAC7B;;AAEA,QAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,KAAK,SAAvC,IAAoD,KAAK,KAAK,SAAlE,EAA6E;AAEzE,UAAI,KAAK,GAAG,KAAK,CAAC,QAAN,GAAiB,KAAjB,CAAuB,GAAvB,CAAZ;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACA,MAAA,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAD,CAAL,IAAY,CAAb,CAAhB;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,YAAO,IAAI,KAAJ,CAAU,4BAAV,CAAP;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,MAAA,KAAK,GAAG,CAAR;AACH;;AAED,QAAI,KAAK,KAAK,SAAd,EAAyB;AACrB,MAAA,KAAK,GAAG,CAAR;AACH;;AAED,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;AACA,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;AACA,UAAK,KAAL,GAAa,QAAQ,CAAC,KAAD,CAArB;;AAEA,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AAED,QAAI,KAAK,CAAC,MAAK,KAAN,CAAT,EAAuB;AACnB,YAAO,IAAI,KAAJ,CAAU,uBAAV,CAAP;AACH;;AArC4B;AAuChC;AAED;AACJ;AACA;AACA;;;;;WACI,oBAAW;AACP,aAAO,KAAK,KAAL,GAAa,GAAb,GAAmB,KAAK,KAAxB,GAAgC,GAAhC,GAAsC,KAAK,KAAlD;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;;;;WACI,mBAAU,OAAV,EAAmB;AAEf,UAAI,OAAO,YAAY,OAAvB,EAAgC;AAC5B,QAAA,OAAO,GAAG,OAAO,CAAC,QAAR,EAAV;AACH;;AAED,UAAI,OAAO,OAAP,KAAmB,QAAvB,EAAiC;AAC7B,cAAO,IAAI,KAAJ,CAAU,gBAAV,CAAP;AACH;;AAED,UAAI,OAAO,KAAK,KAAK,QAAL,EAAhB,EAAiC;AAC7B,eAAO,CAAP;AACH;;AAED,UAAI,CAAC,GAAG,CAAC,KAAK,KAAN,EAAa,KAAK,KAAlB,EAAyB,KAAK,KAA9B,CAAR;AACA,UAAI,CAAC,GAAG,OAAO,CAAC,KAAR,CAAc,GAAd,CAAR;AACA,UAAI,GAAG,GAAG,IAAI,CAAC,GAAL,CAAS,CAAC,CAAC,MAAX,EAAmB,CAAC,CAAC,MAArB,CAAV;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,GAApB,EAAyB,CAAC,IAAI,CAA9B,EAAiC;AAC7B,YAAK,CAAC,CAAC,CAAD,CAAD,IAAQ,CAAC,CAAC,CAAC,CAAD,CAAV,IAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAnC,IAA0C,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvE,EAAgF;AAC5E,iBAAO,CAAP;AACH,SAFD,MAEO,IAAK,CAAC,CAAC,CAAD,CAAD,IAAQ,CAAC,CAAC,CAAC,CAAD,CAAV,IAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,CAAnC,IAA0C,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiB,QAAQ,CAAC,CAAC,CAAC,CAAD,CAAF,CAAvE,EAAgF;AACnF,iBAAO,CAAC,CAAR;AACH;AACJ;;AAED,aAAO,CAAP;AACH;;;;EA9FiB,U;;;;AAkGtB,mBAAQ,iBAAR,CAA0B,eAA1B,EAA2C,OAA3C;;AAGA,IAAI,cAAJ;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,SAAS,UAAT,GAAsB;AAClB,MAAI,cAAc,YAAY,OAA9B,EAAuC;AACnC,WAAO,cAAP;AACH;AACD;;;AACA,EAAA,cAAc,GAAG,IAAI,OAAJ,CAAY,OAAZ,CAAjB;AACA;;AACA,SAAO,cAAP;AAEH;;AAED,mBAAQ,iBAAR,CAA0B,SAA1B,EAAqC,UAArC;;;ACzLA;AAEA;AACA;AACA;;;;;;;;;;;;;AAEA;;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,SAAS,KAAT,CAAe,GAAf,EAAoB;AAEhB;AACA,MAAI,SAAS,GAAb,EAAkB;AACd,WAAO,GAAP;AACH,GALe,CAOhB;;;AACA,MAAI,qBAAY,GAAZ,CAAJ,EAAsB;AAClB,WAAO,GAAP;AACH,GAVe,CAYhB;;;AACA,MAAI,oBAAW,GAAX,CAAJ,EAAqB;AACjB,WAAO,GAAP;AACH,GAfe,CAiBhB;;;AACA,MAAI,iBAAQ,GAAR,CAAJ,EAAkB;AACd,QAAI,IAAI,GAAG,EAAX;;AACA,SAAK,IAAI,CAAC,GAAG,CAAR,EAAW,GAAG,GAAG,GAAG,CAAC,MAA1B,EAAkC,CAAC,GAAG,GAAtC,EAA2C,CAAC,EAA5C,EAAgD;AAC5C,MAAA,IAAI,CAAC,CAAD,CAAJ,GAAU,KAAK,CAAC,GAAG,CAAC,CAAD,CAAJ,CAAf;AACH;;AAED,WAAO,IAAP;AACH;;AAED,MAAI,kBAAS,GAAT,CAAJ,EAAmB;AAGf;AACA,QAAI,GAAG,YAAY,IAAnB,EAAyB;AACrB,UAAI,KAAI,GAAG,IAAI,IAAJ,EAAX;;AACA,MAAA,KAAI,CAAC,OAAL,CAAa,GAAG,CAAC,OAAJ,EAAb;;AACA,aAAO,KAAP;AACH;AAED;;;AACA,QAAI,OAAO,OAAP,KAAmB,WAAnB,IAAkC,GAAG,YAAY,OAArD,EAA8D,OAAO,GAAP;AAC9D,QAAI,OAAO,YAAP,KAAwB,WAAxB,IAAuC,GAAG,YAAY,YAA1D,EAAwE,OAAO,GAAP;AACxE,QAAI,OAAO,gBAAP,KAA4B,WAA5B,IAA2C,GAAG,YAAY,gBAA9D,EAAgF,OAAO,GAAP;AAEhF;;AACA,QAAI,GAAG,KAAK,wBAAZ,EAAyB,OAAO,GAAP;AACzB,QAAI,OAAO,aAAP,KAAyB,WAAzB,IAAwC,GAAG,KAAK,aAApD,EAAmE,OAAO,GAAP;AACnE,QAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,GAAG,KAAK,MAA7C,EAAqD,OAAO,GAAP;AACrD,QAAI,OAAO,QAAP,KAAoB,WAApB,IAAmC,GAAG,KAAK,QAA/C,EAAyD,OAAO,GAAP;AACzD,QAAI,OAAO,SAAP,KAAqB,WAArB,IAAoC,GAAG,KAAK,SAAhD,EAA2D,OAAO,GAAP;AAC3D,QAAI,OAAO,IAAP,KAAgB,WAAhB,IAA+B,GAAG,KAAK,IAA3C,EAAiD,OAAO,GAAP,CArBlC,CAuBf;;AACA,QAAI;AACA;AACA,UAAI,GAAG,YAAY,KAAnB,EAA0B;AACtB,eAAO,GAAP;AACH;AACJ,KALD,CAKE,OAAO,CAAP,EAAU,CACX;;AAED,WAAO,WAAW,CAAC,GAAD,CAAlB;AAEH;;AAED,QAAM,IAAI,KAAJ,CAAU,gDAAV,CAAN;AACH;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAAS,WAAT,CAAqB,GAArB,EAA0B;AACtB,MAAI,IAAJ;AAEA;;AACA,MAAI,QAAO,GAAG,CAAC,cAAJ,CAAmB,UAAnB,CAAP,KAAyC,GAAG,CAAC,QAAJ,KAAiB,UAA9D,EAA0E;AACtE,WAAO,GAAG,CAAC,QAAJ,EAAP;AACH;;AAED,EAAA,IAAI,GAAG,EAAP;;AACA,MAAI,OAAO,GAAG,CAAC,WAAX,KAA2B,UAA3B,IACA,OAAO,GAAG,CAAC,WAAJ,CAAgB,IAAvB,KAAgC,UADpC,EACgD;AAC5C,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,WAAR,EAAP;AACH;;AAED,OAAK,IAAI,GAAT,IAAgB,GAAhB,EAAqB;AAEjB,QAAI,CAAC,GAAG,CAAC,cAAJ,CAAmB,GAAnB,CAAL,EAA8B;AAC1B;AACH;;AAED,QAAI,mBAAQ,KAAR,CAAc,WAAd,CAA0B,GAAG,CAAC,GAAD,CAA7B,CAAJ,EAAyC;AACrC,MAAA,IAAI,CAAC,GAAD,CAAJ,GAAY,GAAG,CAAC,GAAD,CAAf;AACA;AACH;;AAED,IAAA,IAAI,CAAC,GAAD,CAAJ,GAAY,KAAK,CAAC,GAAG,CAAC,GAAD,CAAJ,CAAjB;AACH;;AAED,SAAO,IAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,KAA1C;;;ACrJA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACM,U;;;;;AAEF;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,sBAAY,QAAZ,EAAsB;AAAA;;AAAA;;AAClB;;AAEA,QAAI,oBAAW,QAAX,CAAJ,EAA0B;AACtB,YAAK,OAAL,GAAe,QAAf;AACH,KAFD,MAEO,IAAI,QAAQ,KAAK,SAAjB,EAA4B;AAC/B,YAAM,IAAI,SAAJ,CAAc,kBAAd,CAAN;AACH,KAFM,MAEA;AACH;AACA,YAAK,OAAL,GAAe,UAAU,CAAV,EAAa,CAAb,EAAgB;AAE3B,YAAI,QAAO,CAAP,cAAoB,CAApB,CAAJ,EAA2B;AACvB,gBAAM,IAAI,SAAJ,CAAc,wBAAd,CAAN;AACH;;AAED,YAAI,CAAC,KAAK,CAAV,EAAa;AACT,iBAAO,CAAP;AACH;;AACD,eAAO,CAAC,GAAG,CAAJ,GAAQ,CAAC,CAAT,GAAa,CAApB;AACH,OAVD;AAWH;;AApBiB;AAsBrB;AAED;AACJ;AACA;AACA;AACA;;;;;WACI,mBAAU;AACN,UAAM,QAAQ,GAAG,KAAK,OAAtB;;AACA,WAAK,OAAL,GAAe,UAAC,CAAD,EAAI,CAAJ;AAAA,eAAU,QAAQ,CAAC,CAAD,EAAI,CAAJ,CAAlB;AAAA,OAAf;;AACA,aAAO,IAAP;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,eAAM,CAAN,EAAS,CAAT,EAAY;AACR,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,MAAuB,CAA9B;AACH;AAGD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,qBAAY,CAAZ,EAAe,CAAf,EAAkB;AACd,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,IAAqB,CAA5B;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,4BAAmB,CAAnB,EAAsB,CAAtB,EAAyB;AACrB,aAAO,KAAK,WAAL,CAAiB,CAAjB,EAAoB,CAApB,KAA0B,KAAK,KAAL,CAAW,CAAX,EAAc,CAAd,CAAjC;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,yBAAgB,CAAhB,EAAmB,CAAnB,EAAsB;AAClB,aAAO,KAAK,QAAL,CAAc,CAAd,EAAiB,CAAjB,KAAuB,KAAK,KAAL,CAAW,CAAX,EAAc,CAAd,CAA9B;AACH;AAED;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;;;WACI,kBAAS,CAAT,EAAY,CAAZ,EAAe;AACX,aAAO,KAAK,OAAL,CAAa,CAAb,EAAgB,CAAhB,IAAqB,CAA5B;AACH;;;;EAvGoB,U;;;;AA4GzB,cAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C;;;AC1KA;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,SAAS,UAAT,CAAoB,MAApB,EAA4B;AAExB,gCAAe,MAAf,EAFwB,CAIxB;;AACA,MAAI,SAAS,GAAG,MAAM,CAAC,mBAAP,CAA2B,MAA3B,CAAhB,CALwB,CAOxB;;AAPwB,6CAQP,SARO;AAAA;;AAAA;AAQxB,wDAA4B;AAAA,UAAnB,IAAmB;AACxB,UAAI,KAAK,GAAG,MAAM,CAAC,IAAD,CAAlB;AAEA,MAAA,MAAM,CAAC,IAAD,CAAN,GAAe,KAAK,IAAI,QAAO,KAAP,MAAiB,QAA1B,GACX,UAAU,CAAC,KAAD,CADC,GACS,KADxB;AAEH;AAbuB;AAAA;AAAA;AAAA;AAAA;;AAexB,SAAO,MAAM,CAAC,MAAP,CAAc,MAAd,CAAP;AACH;;AAED,mBAAQ,iBAAR,CAA0B,cAA1B,EAA0C,UAA1C",
   "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 84e3bcafe814fd0f3f03aa4edeac4d893bd8bc8d..bed17bce3d1944e11d7b704263c046e66802394f 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 5e67385787666e42d07a5898c8acfcf64deeefcf..5946ee3d6a6c7ed1a71b5e4b0d5621949b9aac04 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 d8b4ee71dadabba5c8ccdaf97e30d48d2a50fb24..f862ea1d079df5133890885f4b263aee790f322f 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 59264741295e8936985a7fde054f019e61a4e92a..53eaf9ce4d769bd0a64b63a1b70d7d5fff8c650d 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 855a3e861fa16890662bbaf435830da63f3b4db2..3591bf22b8e677fbcc796816b620d209f8c0db24 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 43695c1b5fe8e80bcb50732974f6c2ae3a86e096..e68358b1fee73c4318f4884c3890508874c92b74 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 01824fb66c4a6c0fe23f171f6c0146b1d6acf5dd..d29740acab1bca614d9ce3832bb6d7d8738be834 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 6ab2a64fbd9317cf793fcab71d429ee855c7c982..872508d916e221ecc4abe6478025ce75fe8f9060 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 044e4675a7c5759ba3acf016db05935ae3db3889..2276de2498f7b3c650c0d63e1c83744d782110d4 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 f4adf77ac85287fd801f4681c973d68c9fa463f9..bb8274857b65ff05fd5ec831a7a28c2ae54d1e0c 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 f9f9ba86f9b1092bb9d2348bad167ddfeea28915..fd1ee3a2885d88cfe6ce67d5660dc4ec68704ad0 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 adf1ae01016d853d287b3817f500c341f5aaabec..903e6c638231e35fff146f8948892c027cd677c2 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 384e1ed2bb7b96d6ef053227eff8af589be39ef6..bce06193582736e6fbede1dadd6b9ccf7d61c84a 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 a6c2c070a4fb105d32b5bea1d73ba31445921095..98ebddedf5870d63379c14399cf3dfecef9a6658 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 0000000000000000000000000000000000000000..5bb72d5bf9c0e1feb9c46ab85a706a39d376563a
--- /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 b16bba3d56cd99a30f768d6a2e4ff9447488c277..da1f27416ad466f5a4dc5783956bb2dc7e03d24e 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 6412229f06457e04cf3007aa70dc09c7e9fddae6..9e107918781bdac8897e43a499a5635b983110aa 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 6ef5c369b41ddcfcb84e84ebb5453b1371ab3a67..5b429b7392ba5f220fe10afb4b4cfb63eb690784 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 26153ecfbd6d92d4da99015b525eaeb6e04c932d..482b74dab61209876d3f757ec45f8ca8cf610c83 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 0000000000000000000000000000000000000000..9f534b18b91dffb474da8ccebf9880d81defe5a5
--- /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 ef59d3cee5e4d8ec67eebce52481b4297b3a22b3..06dede3a895aabefa8e236e1ed8617a68a0394b8 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 db7430bc1820e8285ae00b8a45d08f80da81504a..fbda2b01f9cc7470c91c4630f4242d2db9268759 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 d7e61ed7bf6487b418322cd47c70a5c0868cdbd8..17f6d2bb80707b67f949230faf6bd4363fd88129 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 4f72784774cd244834932aecb5a2ec00dbafa152..f764f5d040aa434ca79f6de3a358efa81c33b1bc 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 cb2d1800feb1d7667dde7dbbfa3e1fb0e201100b..c66c8d52808d57b7ba79adbb13d58a71f0c0e5a0 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 5f5d950b9e6521bd9fb0c650b0a5dbecad206666..4d40cf914f0ceab5b75196882f75ed7626a15493 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 36823ce5d7dc9281be2362ebd3b80f6701292002..e65d6f718a60104c08979bfde21fecebe5f55636 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 ab5852beb137187d04ccd090deb2c64a5f524e93..967d790555855f9289a6077aef8b09ee7337b1f8 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 bf623caaaa0548712b6ba3a119dca651a8a9f908..0dc726dce8873f38149da46ba8f55493028b4e83 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 8ef54ce37d28f51e1438ef29eb9c4a6a3abd635c..053a38b27c2becb1abdb4ac4c88ff8ea9c33db09 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 ba7d7a341bd39951131d4f5f30fabf8e8b6b9709..065cc2453b53fa73e7df21ae5f8f950a488f574b 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 76bd2a8d2e12b141ecd0a4f5747dab39e2629da0..dce4452b9dc2794b92a64ed4625b07e8202f4bb3 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 0657b64605cf2d5db0df3f4d3aab03c11cb0bf91..70a2aff65faf57ba4e7ee0d811305169d6401125 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 96c726c073418df2d70e63e8c63fb65151776bd8..cf941363ecee2dd37e5b9b95ec9267e0e389b277 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 3c9aad953b68fe420b27579771c3ed093d4ea829..d1b10ec23dd3888af23a2539f41abe3d23091b57 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 a50bd45e09a63070c76d904b5b2c119e42f958b3..be3da50a365c9adee5c8bdcff6117e8c59861e6b 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 7fa70297b630b543a688233d68add23a081043bb..03c32edea3dc5be4f3c93fb7c5f7935e7a14ce80 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 c894a4bd5bfa43668af053a9b7a8701cfeb0d139..6d028407ca57e30805c0cac6424d7dba921fd361 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 6038e9056a2de8cc08f206d1d42991902bbc3afb..b218d80f446b15304aa831d5349a317aed5bc3bc 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 66b42f0b3446d9db8a7c7dfabffceb4173b39ed5..8b7a42661acaceb3b8c410cadd78063e566cddbf 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 f8f822f5479aef1ad6d4a82e91758eaf326b3322..a99fc9b068552981612dcca1f719bc216a3ac90d 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 f300b7ce17d3a0a7157d49b10b9ce193b9151bb2..1ca484c53b5f3c4645d56dc8bb28419c97935a63 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 35083743989da8a0c6ef0b296ab4db4c5ef39d40..d96b490575e7e0c7c9018f0546b3e05ecdf9ef2d 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 468a005cd464ad5e9544dddaf4d25c237827e7fb..c557187b222ead0a5c6200733e98ca52d5cd0c8c 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 7b2e3cef53a69e4f2d4e7281c185816118cda3a1..ef9a2980caee3a469ea13453c55fc613d2603167 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 66ed1b5dbe24d521133ad123b22e8fc54118ed21..ca0d394358740b0e9b0abea85cc3b2fa11dc7bc0 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 65f0a3a191093497145561123a13d9a45d8b3e18..df93a5f645a5af19a53f65dbf80ebe502abf3084 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 0000000000000000000000000000000000000000..8143906ec3f08b9ffd8d20961a3e2eaa88b90c3f
--- /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 41d96b623304d11075fd6ad5eff2f7f826c53de2..baf9f4f5dcc120357fbed81a538bee314b4e99f8 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 a965395884fa14c4d877ed926efe5da0c16b5dce..62c1b571377df07f7e67329a7be53d9dc8b33c18 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 0f9ebd86a1371ed394f0230d7051d24420475539..2422c3a22947681c252ebb9e17b7333f7a8d127d 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 0000000000000000000000000000000000000000..4ac6b859d8cf60586210cc73b4b2cb7e77d06959
--- /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 ae7d7e3efcd880a74d5cd037518d98a3c46a903d..e9b5eb0c387523cca5111fe54e8d4e06875a7f7b 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 bd390b99fd7f431f5dbc5e6610353bd7cf51bbf8..a24d22b8775aca1fc8b04a496abaf9c44feb0064 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 c5ac9a55c063d08f6a1d5200432ebcd7a476ed70..df4618d8101658b4881c31f18eb78432a70f971f 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 a059b740901df71def289cc4782254fbfdfd1389..5e15340b287423917496c2e0de6ff03a3e2b91a7 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 e4a021d4fc611e6519489ce775525e995e73f872..4952a7a1bd1562205aa7a070c202b2c3962e89ed 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 0000000000000000000000000000000000000000..a2d2bc5b3544d454334bc941ad85132d0d169ded
--- /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 e595f77de16c7f210b5fdc776e238ff9698e332e..71e310b4115a7ee92126abda5d51f455e4e86f4f 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 0000000000000000000000000000000000000000..24517fb2359f43e5c936a497660df021f5235057
--- /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 667a49efde1a7033288f50d377239a57443fcdb5..145f8f3cb24a2a449fd2a76dec25f84a1f2abaeb 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 0000000000000000000000000000000000000000..40ed0b9579479c61c5f66a0edf29412b7f1e74bd
--- /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